快捷搜索:  汽车  科技

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中使用。

废话不多说,直接按照步骤开始,以下的案例均在我自己的电脑上测试成功,如有问题可以联系我。

一、开发环境

spring boot 封装redis(一般人都能看懂的Lettuce版本)(1)

版本的话其实差不不大就没问题,最主要的就是Springboot的版本,在这里说一下Jedis和Lettuce的区别在哪?

1、Jedis 是直连模式,在多个线程间共享一个 Jedis 实例时是线程不安全的,每个线程都去拿自己的 Jedis 实例,当连接数量增多时,物理连接成本就较高了。

2、Lettuce的连接是基于Netty的,连接实例可以在多个线程间共享,如果你不知道Netty也没事,大致意思就是一个多线程的应用可以使用同一个连接实例,而不用担心并发线程的数量。通过异步的方式可以让我们更好的利用系统资源。

既然有这么大的好处,干脆就用了这个,跟上时代的变化。下面新建一个SpringBootRedis项目,开始整合。

二、整合

步骤一:添加依赖

spring boot 封装redis(一般人都能看懂的Lettuce版本)(2)

步骤二:application.properties配置文件

spring boot 封装redis(一般人都能看懂的Lettuce版本)(3)

当然如果你的属性文件是yml的,把格式调整一下就OK了。

步骤三:新建config包,创建RedisConfig类

默认情况下RedisTemplate模板只能支持字符串,我们自定义一个RedisTemplate,设置序列化器,这样我们可以很方便的操作实例对象。

spring boot 封装redis(一般人都能看懂的Lettuce版本)(4)

步骤四:新建bean包,创建User类

spring boot 封装redis(一般人都能看懂的Lettuce版本)(5)

步骤五:测试插入一个User

spring boot 封装redis(一般人都能看懂的Lettuce版本)(6)

在上面这个例子中我们使用redisTemplate调用了opsForValue会得到一个ValueOperations操作。这个是专门操作String类型的数据,所以里面的键值对中键为String,而值是我们的User。当然redisTemplate还为我们提供了下面几个。

spring boot 封装redis(一般人都能看懂的Lettuce版本)(7)

具体使用的时候,你可以根据自己的数据类型选择相应的方法即可,网上有各种RedisUtil工具类

猜您喜欢: