我正在使用以下库:predis php library。这是直接的githubpredis github code
在我的代码中,我正在执行以下操作:
$st=mysqli_query($dbh,"select somethoing from something");
while($row=mysqli_fetch_assoc($st)){
$redis->hmset("us-states-data-hash",$row);
}
不幸的是,在redis中存储数据的最终结果只是sql查询的最后一条记录。
如何将所有行放入散列标记
us-states-data-hash
的redis 最佳答案
The HMSET
Redis command需要一个键(us-states-data-hash
在您的示例中)和一对字段名和值。
虽然predis的文档仍在修订中,但它的测试似乎很强大。特别感兴趣的是HashSetMultipleTest.php文件,它向您展示了如何使用hmset
。
您的代码正在将关联数组传递给hmset
,而看起来您需要对其进行splat,即:
$redis->hmset("us-states-data-hash", ...$row);