今天用redisTemplate操作redis,综合网上一些文档,来综合记录下方便自己和大家理解:
先来贴上一些链接:
1、https://www.cnblogs.com/zhuyeshen/p/11430941.html
2、https://www.jianshu.com/p/19e851a3edba
3、https://www.liangzl.com/get-article-detail-141791.html
4、https://blog.csdn.net/lichuangcsdn/article/details/80866182
其中基本原理操作就不谈了,上面链接都有,这里来提出一些上面链接没讲到或者演示错误的内容:
针对List操作,redisTemplate提供了redisTemplate.opsForList()下相关一系列方法,但是rightPush() 和 rightPushAll()还是存在一些差异的:
1> redisTemplate.opsForList().rightPushAll(key, list);
*** --- rightPushAll是可以直接操作list的,但是list内容必须是String对象***
2> redisTemplate.opsForList().rightPush(key, "test");
--- rightPush却是操作String的,所以当放入list就需要通过JSON方法转换:JSONArray.toJSONString(list)将list转为string,此时就不再限制list内单元对象是什么类型了;
--- 如果取,则从redis拿到值size为0,仅有一个元素,取出同样需要转换:list = JSONArray.parseArray(listRedis.toString(), SysConfig.class); 注意,这里转换需要指定单元对象的类型
以上就是今天发现的一些小问题,被困扰了很久,浪费了一些时间,希望以后别的童鞋可以不受这个困扰,另外其它一些自己知道的细节我就偷懒不说了,比如想看redis内存储内容或者这里的详细操作代码,因为比较简单,大家自己脑补就可以了