嗨我正在使用Laravel和Redis.当我尝试通过get方法访问密钥时,然后得到以下错误"WRONGTYPE对一个持有错误值的键的操作"
我使用以下代码来访问键值 -
我使用此代码从redis获取数据
$values = "l_messages";
$value = $redis->HGETALL($values);
print($value);
Run Code Online (Sandbox Code Playgroud)
Pho*_* Li 244
Redis支持5种类型的数据.您需要知道键映射到的值的类型,对于每种数据类型,检索它的命令是不同的.
以下是检索键值的命令:
<key>
<key>
<key> <start> <end>
<key>
<key> <min> <max>
命令检查键映射到的值的类型:
<key>
小智 25
此错误表明您正在尝试将错误的值推入键中,这意味着已经存在相同的键但具有不同的数据结构。
要获取所有密钥,请在 redis cli 中执行此操作
keys *
Run Code Online (Sandbox Code Playgroud)
这应该显示所有键现在要获取键存储的值的类型,请执行以下操作
type <key>
Run Code Online (Sandbox Code Playgroud)
所以它说明了您可以将什么值推入密钥中。在我的例子中,类型是字符串(使用集合),我试图将键用作列表
此错误意味着由键"l_messages"索引的值不是类型hash
,而是其他类型.您可能已在代码中将其设置为其他值.尝试从GET开始的各种其他value-getter命令,看看哪个有效,你就会知道这里有什么类型.
归档时间: |
|
查看次数: |
69238 次 |
最近记录: |