redisson是一个用于连接redis的java客户端工作,相对于jedis,是一个采用异步模型,大量使用netty promise编程的客户端框架。
“`
//创建配置信息
Config config = new Config();
config.useSingleServer().setAddress(“localhost:6379”).setConnectionPoolSize(5);
Redisson redisson = Redisson.create(config);
//测试 list
List<String> strList = redisson.getList("strList");
strList.clear(); //清除所有数据
strList.add("测试中文1");
strList.add("test2");
log.info(strList);
redisson.shutdown();
“`从代码上来看,其基本的使用非常简单,在最后的使用当中。除与redisson打交道之外(获取各种数据结构),完全感觉不到与redis的信息连接。甚至于返回于上层直接不需要考虑下层的实现,一切均由redisson进行了封装。
但是上面代码有一个比较大的问题,就是打log日志的时候,直接用了redisson的list,导致每次接口调用时间都会特别长。之后阅读源码发现,redissonList并不是一次性将redis中的信息拉取到内存里,而是每次遍历都去redis获取一下,所以在打日志或者其他序列化时,都会去调用redis提取信息,导致耗时比较长。解决方法就是循环出来放到另一个新list中(注意:引用类型,需new一个新的)。
工具类虽好,但是也不要贪杯哦