欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

WRONGTYPE Operation against a key holding the wrong kind of value:类型搞混弄出的错误 有大用

今天用C# 连接Redis做性能测试,用的接口是StackExchange.Redis,按照正常的思路获取数据库连接,代码如下:

1             string conn = "我的ip:6379,password=登录密码";
2 
3             ConnectionMultiplexer client = ConnectionMultiplexer.Connect(conn);
4 
5             IDatabase db = client.GetDatabase(2);

 

然后就向里边添加数据,类似的代码如下:

1                 RedisKey key ="1";
2 
3                 RedisValue value = "....";
4 
5                 this.db.SetAdd(key, value);

弄完以后用Redis-cli连接Redis,命令是:

redis-cli -h 192.168.1.XXX -p 6379 -a 登录密码

登录成功以后用get的方式获取如:get 1,发现报错:WRONGTYPE Operation against a key holding the wrong kind of value,到网上看看有说值重复的说啥的都有,后来检查代码发现我添加数据的时候用的是this.db.SetAdd(key, value);这句的意思是向集合中添加代码的,后来修改成 this.db.StringSet(key, value);就一切正常了

 

本来就是一个非常基础的问题查啊查,还以为是key值或value值出现特殊字符造成的呢,查了半天,如果以后有兄弟遇到像我一样的问题不妨去看看你的类型是不是有问题,对了当时用get的时候报错,用smembers 1 都能出来值已经很明显那个是一个集合了,新手兄弟们一起吸取教训啊,老鸟们别嫌我说话烦啊,这个不是给老手看的


来自  https://www.cnblogs.com/Taburensheng/p/6170821.html



首先应该明白报这个错误说明了你用的jedis方法与redis服务器中存储数据的类型存在冲突。

例如:数据库中有一个key的数据存储的是Hash类型的,但是你使用jedis执行数据操作的时候却使用了非Hash的操作方法。此时就会报

WRONGTYPE Operation against a key holding the wrong kind of value这个错误!


问题解决:

先执行一条如下命令:

redis 127.0.0.1:6379>type key

此时会显示出该key存储在现在redis服务器中的类型,例如:

redis 127.0.0.1:6379>hash

则表示key为以hash类型存储在redis服务器里的,此时操作这个数据就必须使用hset、hget等操作方法。

如果是zset如下:

redis 127.0.0.1:6379>zset

则表示数据类型为Sorted Sets的。此时就需要使用zadd、zrange等操作方法,否则就会报WRONGTYPE Operation against a key holding the wrong kind of value这个错误!

来自  https://www.cnblogs.com/jeffen/p/6091385.html


首先应该明白报这个错误说明了你用的jedis方法与redis服务器中存储数据的类型存在冲突。

例如:数据库中有一个key的数据存储的是Hash类型的,但是你使用jedis执行数据操作的时候却使用了非Hash的操作方法。此时就会报

WRONGTYPE Operation against a key holding the wrong kind of value这个错误!


问题解决:

先执行一条如下命令:

redis 127.0.0.1:6379>type key

此时会显示出该key存储在现在redis服务器中的类型,例如:

redis 127.0.0.1:6379>hash

则表示key为以hash类型存储在redis服务器里的,此时操作这个数据就必须使用hset、hget等操作方法。

如果是zset如下:

redis 127.0.0.1:6379>zset

则表示数据类型为Sorted Sets的。此时就需要使用zadd、zrange等操作方法,否则就会报WRONGTYPE Operation against a key holding the wrong kind of value这个错误!

https://www.cnblogs.com/jeffen/p/6091385.html



redis出现WRONGTYPE Operation against a key holding the wrong kind of value 错误


操作redis时,想设置一个hash值,出现了WRONGTYPE Operation against a key holding the wrong kind of value 的错误
在这里插入图片描述

出现此情况的原因很有可能是因为:

redis中已经存在同名,但不同类型的key值。

于是用type命令查看了此键值的类型,结果显示是字符串,因此用hash的命令,无法执行:

在这里插入图片描述

确保此键值没用后,用del命令删除,重新设置即可。

来自   https://blog.csdn.net/qq_33679504/article/details/84766674

普通分类: