关于redis缓存无法存储多个数据和redis sdiff 方法比较所得集合为空

1.使用redis缓存多个图片名称时,使用jedisPool.getResource().set(RedisConstant.SETMEAL_PIC_RESOURCES,fileName);

存储多个图片数据时,只能存储第一次存储的第一张图片,后续无论存储多少次都存不了;

原因:方法使用错误,应使用sadd进行添加,set为string类型,同一个键只能有一个值;而使用sadd则使用的为set类型存储,同一个键可以存储多个值,并且支持数据排重,使用sdff方法即可获得非重复的内容,这样使用两个set缓存实现废弃图片的丢弃就十分容易了.

2.redis sdiff 时,两个集合明明存在差异,排重时得到的集合size为0,并且在后续使用工具类删除图片时,也无法删除,点击工具类时,提示需要下载源码?

这个工具类明明就在本工程,怎么会需要下载源码?

检查发现,是环境依赖发生了错误,本项目的module导入了别的项目中的同名module依赖,这里特指自身项目所打包的依赖:

解决:删除mavenv本地仓库中所打包的项目依赖,并重新进行clean install ,这时,导入错误的依赖会报错,只需删除错误的依赖并重新导入正确的module依赖即可解决上述的sdiff集合为0以及后续使用工具类无法删除图片的问题;

你可能感兴趣的:(关于redis缓存无法存储多个数据和redis sdiff 方法比较所得集合为空)