spring boot 封装redis(一般人都能看懂的Lettuce版本)
spring boot 封装redis(一般人都能看懂的Lettuce版本)二、整合既然有这么大的好处,干脆就用了这个,跟上时代的变化。下面新建一个SpringBootRedis项目,开始整合。版本的话其实差不不大就没问题,最主要的就是Springboot的版本,在这里说一下Jedis和Lettuce的区别在哪?1、Jedis 是直连模式,在多个线程间共享一个 Jedis 实例时是线程不安全的,每个线程都去拿自己的 Jedis 实例,当连接数量增多时,物理连接成本就较高了。2、Lettuce的连接是基于Netty的,连接实例可以在多个线程间共享,如果你不知道Netty也没事,大致意思就是一个多线程的应用可以使用同一个连接实例,而不用担心并发线程的数量。通过异步的方式可以让我们更好的利用系统资源。
去年学习的redis,刚刚学习完就迫不及待的在实战中用了一下,走了很多坑不过幸好都填上了,需求的不断变化发现用不上Redis,一开始去掉了,后来想想加进来比较合适。这篇文章主要讲解Springboot如何整合开发Redis实现一个基本的案例。使用的是目前Springboot2.x的Lettuce版本。希望对你有帮助。
这里因为不是专门讲解Redis的,所以假定你已经学习了Redis,只是希望在SpringBoot2.x中使用。
废话不多说,直接按照步骤开始,以下的案例均在我自己的电脑上测试成功,如有问题可以联系我。
一、开发环境
版本的话其实差不不大就没问题,最主要的就是Springboot的版本,在这里说一下Jedis和Lettuce的区别在哪?
1、Jedis 是直连模式,在多个线程间共享一个 Jedis 实例时是线程不安全的,每个线程都去拿自己的 Jedis 实例,当连接数量增多时,物理连接成本就较高了。
2、Lettuce的连接是基于Netty的,连接实例可以在多个线程间共享,如果你不知道Netty也没事,大致意思就是一个多线程的应用可以使用同一个连接实例,而不用担心并发线程的数量。通过异步的方式可以让我们更好的利用系统资源。
既然有这么大的好处,干脆就用了这个,跟上时代的变化。下面新建一个SpringBootRedis项目,开始整合。
二、整合
步骤一:添加依赖
步骤二:application.properties配置文件
当然如果你的属性文件是yml的,把格式调整一下就OK了。
步骤三:新建config包,创建RedisConfig类
默认情况下RedisTemplate模板只能支持字符串,我们自定义一个RedisTemplate,设置序列化器,这样我们可以很方便的操作实例对象。
步骤四:新建bean包,创建User类
步骤五:测试插入一个User
在上面这个例子中我们使用redisTemplate调用了opsForValue会得到一个ValueOperations操作。这个是专门操作String类型的数据,所以里面的键值对中键为String,而值是我们的User。当然redisTemplate还为我们提供了下面几个。
具体使用的时候,你可以根据自己的数据类型选择相应的方法即可,网上有各种RedisUtil工具类。