我正在使用以下库: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);

10-08 18:33