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

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

发生这个异常的原因大概就是你的当前程序中key的操作类型,并不与redis库中存在的key的类型相匹配。
举个荔枝:
1.你 SADD bbs “discuz.net” 向一个key为bbs的集合中添加了 一个元素
2.你又HSET bbs website “www.g.cn” 向key为bbs的website域中添加了一个元素
3.然后你执行SCARD key ,gg 这个时候就会抛异常了WRONGTYPE Operation against a key holding the wrong kind of value
按理来说第二部就应该抛出异常
解决这种冲突的方式
1.把之前的key删除掉,这样做当然很不好,如果你在使用公司的redis,很有可能是和同事取的key名重复了
2.所以最好不要使用纯数字来作为key ,我们可以申明一个前坠,比如拼接上你的程序名,业务名,然后再加上你key的唯一id,当你要get这个key的时候也拼接上你申明的这个key的前坠再去取value值。

同理跟你在给密码加密的时候是一个道理,我们通常不直接使用MD5直接对密码进行加密,而是通过生成UUID构成一个言(前坠或者后坠后者拼接潜入到密码中)然后再对这一串字符串进行MD5的加密

关于redis的学习推荐一下网站
Redis 命令参考
菜鸟教程
书可以参考
Redis发生异常WRONGTYPE Operation against a key holding the wrong kind of value_第1张图片
豆瓣链接

你可能感兴趣的:(异常坑)