对持有错误类型值 php 的键执行错误类型操作

2022-08-30 06:09:03

嗨,我正在使用Laravel与Redis。当我尝试通过get方法访问密钥时,然后得到以下错误“对持有错误类型值的密钥的错误类型操作”

我使用以下代码访问密钥值 -

我使用此代码从redis获取数据

$values = "l_messages";
$value = $redis->HGETALL($values);
print($value);

答案 1

Redis 支持 6 种数据类型。您需要知道键映射到哪种类型的值,因为对于每种数据类型,检索它的命令是不同的。

以下是检索键值的命令:

  • 如果值的类型为字符串 -> GET<key>
  • 如果值的类型是哈希 -> HGETALL<key>
  • 如果值的类型为列表 -> lrange<key> <start> <end>
  • 如果值的类型集为 -> smembers<key>
  • 如果值的类型为排序集 -> ZRANGEBYSCORE<key> <min> <max>
  • 如果值为流类型 -> xread 计数流。https://redis.io/commands/xread<count><key><ID>

使用 TYPE 命令检查键映射到的值的类型:

  • 类型<key>

答案 2

这个错误意味着由键“l_messages”索引的值不是类型,而是其他类型。您可能已经在代码中将其设置为其他值。尝试各种其他值获取器命令,从GET开始,看看哪一个有效,你会知道这里实际上是什么类型。hash


推荐