Redis 客户端之Lettuce配置使用(基于Spring Boot 2.x)
开发环境:使用Intellij IDEA + Maven + Spring Boot 2.x + JDK 8
Spring Boot 从 2.0版本开始,将默认的Redis客户端Jedis替换问Lettuce,下面描述Lettuce的配置使用。
1.在项目的pom.xml文件下,引入Redis在Spring Boot 下的相关Jar包依赖。
properties><redisson.version>3.8.2</redisson.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-pool2</artifactId></dependency></dependencies>
2.在项目的resources目录下,在application.yml文件里添加lettuce的配置参数。
#Redis配置
spring:redis:database: 6 #Redis索引0~15,默认为0host: 127.0.0.1port: 6379password: #密码(默认为空)lettuce: # 这里标明使用lettuce配置pool:max-active: 8 #连接池最大连接数(使用负值表示没有限制)max-wait: -1ms #连接池最大阻塞等待时间(使用负值表示没有限制)max-idle: 5 #连接池中的最大空闲连接min-idle: 0 #连接池中的最小空闲连接timeout: 10000ms #连接超时时间(毫秒)
3.添加Redisson的配置参数读取类RedisConfig
package com.dbfor.redis.config;import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;@Configuration
@EnableCaching
public class RedisConfig extends CachingConfigurerSupport {/*** RedisTemplate配置* @param connectionFactory* @return*/@Beanpublic RedisTemplate<String, Object> redisTemplate(LettuceConnectionFactory connectionFactory) {// 配置redisTemplateRedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();redisTemplate.setConnectionFactory(connectionFactory);redisTemplate.setKeySerializer(new StringRedisSerializer());//key序列化redisTemplate.setValueSerializer(new GenericJackson2JsonRedisSerializer());//value序列化redisTemplate.afterPropertiesSet();return redisTemplate;}}
4.构建Spring Boot的启动类RedisApplication
package com.dbfor.redis;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class RedisApplication {public static void main(String[] args) {SpringApplication.run(RedisApplication.class);}
}
5.编写测试类RedisTest
package com.dbfor.redis;import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import org.springframework.test.context.junit4.SpringRunner;@SpringBootTest
@RunWith(SpringRunner.class)
@Component
public class RedisTest {@Autowiredprivate RedisTemplate redisTemplate;@Testpublic void set() {redisTemplate.opsForValue().set("test:set1", "testValue1");redisTemplate.opsForSet().add("test:set2", "asdf");redisTemplate.opsForHash().put("hash1", "name1", "lms1");redisTemplate.opsForHash().put("hash1", "name2", "lms2");redisTemplate.opsForHash().put("hash1", "name3", "lms3");System.out.println(redisTemplate.opsForValue().get("test:set"));System.out.println(redisTemplate.opsForHash().get("hash1", "name1"));}
}
6.在Redis上查看运行结果
从上图可以看到,Lettuce配置操作数据库成功!
其他Redis客户端:
Redis 客户端之Redisson 配置使用(基于Spring Boot 2.x)
Redis 客户端之Lettuce配置使用(基于Spring Boot 2.x)相关推荐
- 基于Spring Boot自动化装配机制实现多数据库适配
1. 背景说明 一个应用服务可能会用到多种数据库,可以采用多版本方式去管理运作,实际当中,同一套数据库版本可能又会适配不同的客户需求, 这时候再增加版本去维护会比较复杂, 不利于维护,有没办法根据配置 ...
- 超完整!Springboot整合redis集群(Sentine),spring boot自动配置集成redis集群(Sentine)
1.添加maven依赖 注意maven版本依赖,版本要相互匹配,如不知道如何查看相对应的版本时,可进入博主主页查看博主上一篇博文. <parent><groupId>org.s ...
- 一个不错的基于Spring boot+Security+Redis+MySql实现权限登录和反爬虫的脚手架
介绍 一个基于Spring boot 2.4.2.JDK 1.8.Security.防恶意请求技术实现的前后端分离的脚手架,可以为开发人员省去前期框架调研和搭建的成本. 软件架构 Spring boo ...
- 基于Spring Boot+Cloud构建微云架构
链接:my.oschina.net/u/3636867/blog/1802517 前言 首先,最想说的是,当你要学习一套最新的技术时,官网的英文文档是学习的最佳渠道.因为网上流传的多数资料是官网翻译而 ...
- 基于Spring Boot和Spring Cloud实现微服务架构学习--转
原文地址:http://blog.csdn.net/enweitech/article/details/52582918 看了几周spring相关框架的书籍和官方demo,是时候开始总结下这中间的学习 ...
- 基于 Spring Boot 和 Spring Cloud 实现微服务架构
前言 首先,最想说的是,当你要学习一套最新的技术时,官网的英文文档是学习的最佳渠道.因为网上流传的多数资料是官网翻译而来,很多描述的重点也都偏向于作者自身碰到的问题,这样就很容易让你理解和操作出现偏差 ...
- 基于Spring Boot和Spring Cloud实现微服务架构学习
目录 Spring 顶级框架 Spring cloud子项目 WHAT - 什么是微服务 微服务简介 微服务的具体特征 SOA vs Microservice HOW - 怎么具体实践微服务 客户端如 ...
- 分布式 Spring Cloud 基于 Spring Boot 开发一整套
Spring Boot的工程包括: - Spring IO Platform:用于版本化应用程序的企业级分发. - Spring Framework:用于事务管理.依赖注入.数据访问.消息传递和W ...
- 基于Spring Boot 2.5.1 微服务框架发布(Eurynome Cloud )
企业级技术中台微服务架构与服务能力开发平台(Eurynome Cloud ) Eurynome Cloud是一款企业级技术中台微服务架构与服务能力开发平台.基于Spring Boot 2.5.1.Sp ...
- 基于 Spring Boot + Cloud 构建微云架构
点击上方"Java基基",选择"设为星标" 做积极的人,而不是积极废人! 源码精品专栏 原创 | Java 2019 超神之路,很肝~ 中文详细注释的开源项目 ...
最新文章
- DreamWeaver文件保存时,提示发生共享违例问题的解决方法
- ViewPager相互嵌套,导致子ViewPager无法滑动,且子ViewPager中的view无法被点击
- msql查询指定日期
- ansi c标准_C/C++的起源与发展故事,我是最牛的软件编程语言,不接受反驳
- aws s3仅允许cloudfront访问_初创公司如何用AWS搭建高扩展性架构
- c语言智能小车项目的感想,智能小车毕业论文(完整版)要点分析.doc
- 前端学习(2656):vue2中用v-model实现
- 支持60+数据传输链路,华为云DRS链路商用大盘点
- java多线程信息共享 多线程管理
- android中将日志文件输出到sd卡
- linux内存管理(六)-伙伴分配器
- C语言实例——荷兰国旗问题
- curl 断点下载 wget下载
- 电信光猫 PT924 获取超级密码
- 使用工具(JD-GUI和APKIDE)反编译JAR的方法
- ios描述文件下载安装
- 红帽子linux命令界面,红帽子_Linux_命令全解
- vue项目之UI插件:Element-UI的基本使用
- stm32命名规范总结
- 利用mammoth.js将doc文档转为html