相关连接:通过Canal保证某网站的Redis与MySql的数据自动同步


1.错误信息

redis.clients.jedis.exceptions.JedisDataException: WRONGTYPE Operation against a key holding the wrong kind of value

2.分析

当前程序中key的操作类型,并不与redis库中存在的key的类型相匹配。举例

第一次保存key,将其设置为key-value形式

[root@server3 src]# ./redis-cli -h 192.168.6.123 -p 6379 -a "{password}"
192.168.6.123:6379> set my_test_userid_001 "0001"
OK
192.168.6.123:6379> get my_test_userid_001
"0001"

第二次保存key,将其以key-map形式进行保存,则会报错

192.168.6.123:6379> hmset my_test_userid_001 user001 "0001" user002 "0002"
(error) WRONGTYPE Operation against a key holding the wrong kind of value

如果删除之前的key,则当前的操作可以进行:

192.168.6.123:6379> del my_test_userid_001
(integer) 1
192.168.6.123:6379> hmset my_test_userid_001 user001 "0001" user002 "0002"
OK
192.168.6.123:6379> hgetall my_test_userid_001
1) "user001"
2) "0001"
3) "user002"
4) "0002"
192.168.6.123:6379> hmget my_test_userid_001 user001
1) "0001"
192.168.6.123:6379> del my_test_userid_001
(integer) 1

3.问题解决

3.1.临时解决

删除冲突key,类似于:

192.168.6.123:6379> del my_test_userid_001

3.2.根本解决

造成这个问题,肯定是程序在多处使用了同一个key,并且是以不同的类型,有的以key-value类型,有的以key-map,有的以key-object。

查看程序,找到这个冲突,并修改。

原文地址:https://blog.csdn.net/hanchao5272/article/details/79051364

Redis:WRONGTYPE Operation against a key holding the wrong kind of value的更多相关文章

  1. Redis报错:WRONGTYPE Operation against a key holding the wrong kind of value 解决处理

    首先应该明白报这个错误说明了你用的jedis方法与redis服务器中存储数据的类型存在冲突. 例如:数据库中有一个key的数据存储的是Hash类型的,但是你使用jedis执行数据操作的时候却使用了非H ...

  2. Redis发生异常WRONGTYPE Operation against a key holding the wrong kind of value

    Redis发生异常WRONGTYPE Operation against a key holding the wrong kind of value Redis发生异常WRONGTYPE Operat ...

  3. redis.clients.jedis.exceptions.JedisDataException: WRONGTYPE Operation against a key holding the wrong kind of value

    错误原因: 因为redis中已经存在了相同的key, 而且key对应的值类型并不是Set,而是SortSet(改动前):再调用smembers时,抛出此错误. 解决方法: 将原来的的key给Del掉, ...

  4. Caused by: redis.clients.jedis.exceptions.JedisDataException: WRONGTYPE Operation against a key holding the wrong kind of value

    对错误类型key的操作,也就是说redis中没有你当前操作的这个key,而你用这个key去执行某些操作!检查key是否正确

  5. WRONGTYPE Operation against a key holding the wrong kind of value

    今天改动代码,一运行就跑错了,错误原因: 因为redis中已经存在了相同的key, 而且key对应的值类型并不是Set,而是SortSet(改动前):再调用smembers时,抛出此错误. 解决方法: ...

  6. redis 报Operation against a key holding the wrong kind of value警告的解决方法

    WRONGTYPE Operation against a key holding the wrong kind of value github:https://github.com/antirez/ ...

  7. Redis:按照正则批量删除key

    Redis按照正则批量删除key redis目前还不支持批量删除key的命令,但是我们有时需要删除符合某个规则的keys,有两种方式: 1.使用redis-cli keys "test*&q ...

  8. redis:key命令(二)

    设置一个key:set name hello 获取一个key的值:get name 查看所有的key:keys * 查看key是否存在:exists name 移动key到指定库:move name ...

  9. Redis:默认配置文件redis.conf详解

    转: Redis:默认配置文件redis.conf详解 # Redis配置文件样例 # Note on units: when memory size is needed, it is possibl ...

随机推荐

  1. day38 21-今天的内容总结

    以前我们在web层里面去调Service再在Service里面去调DAO是一路new过去的,在web层里面new Service,然后在Service里面new DAO.每次你都需要主动去找这个对象. ...

  2. oracle-ASM存储器

    自动存储管理 Oracle 10g引进的一种新型存储机制.它依靠oracle来维护企业的数据库存储器,被设计用来解除磁盘和存储器管理的负担,可以使用ASM来定义用于文件管理的磁盘组. 磁盘组类似于某些 ...

  3. Liferay 7 module项目的依赖问题

    build.gradle中的dependencies和bnd.bnd的Private-Package的关系是,build.gradle解决编译时候所需的所有依赖问题,但是这些依赖并不会被打包到buil ...

  4. Linux常用命令2 权限管理命令

    1.权限管理命令:chmod 上面图片中的ugoa与rwx并不是一个命令,而是不同选项 u 所有者  g 所属组 o 其他人 a 所有人 r 读取权限 w写入权限  x 执行权限 chmod u+x ...

  5. Markdown Linux

    如何在Linux下使用Markdown进行文档工作 学习于: http://www.ituring.com.cn/article/10044 Markdown 官网: http://daringfir ...

  6. BOT建设经营转让,PPP公私合作

    PPP.BOT两种模式有什么区别? BOT模式(build-operate-transfer),由投资方建设并专营一定期限最后移交政府的方式:PPP模式(public-private-partners ...

  7. spring - constructor-arg的常规用法

     1.使用构造子注入时,则使用constructor-arg子标签,来指定构造函数的参数.    <bean id="provider" class="com.ap ...

  8. python 代码中的类和对象

  9. 阿里云发布敏感数据保护产品SDDP,数据贴身防护实现“外防内控”

    数据安全问题,尤其是个人信息保护问题,一直是所有企业和个人关注的重点问题,7月10日,阿里云针对云上企业正式发布一款敏感数据保护产品SDDP(Sensitive Data Detection and ...

  10. inflate用一个XML源填充view. LayoutInflater

    java.lang.Object     android.view.LayoutInflater This class is used to instantiate layout XML file i ...