【教程】JFinal-Redis实用闭坑指南-001

jfinal_redis001.png

这几天团队项目里遇到一个Redis的srem删除缓存失败的问题,cacheName和cacheKey跟sadd的时候一毛一样,但是就是调用srem的时候,删除不掉,一脸懵x!

索性,Debug找问题最靠谱,发现是在使用的时候,没有保持一致的调用方式造成的。

那么,什么叫保持一致的调用方式呢?

1、先来看scard和sadd

image.png

使用的是Redis.call 拿到jedis去直接调用的jedis的命令。

2、再看srem的调用

image.png

调用的是JFinal封装jedis的srem,而不是直接调用的jedis的srem

3、啥区别呢?

区别就是jedis的sadd 存的时候用的key和value都是String字符串存的

但是srem的时候jfinal封装的调用是转了byte[] key都转bytes了 肯定是找不到这个缓存数据了,当然删除也是失败的。

image.png

4、换成这种

image.png

换成上图这种调用方式,与scard sadd存的时候 key value保持一致,就可以了。

JFinal学院,用心服务JFinal开发者,如果您有所受益,请不吝点赞!

原价199元年费,现在免费开放了!

image.png

评论区

热门分享

扫码入社