博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot整合Redis
阅读量:5950 次
发布时间:2019-06-19

本文共 2720 字,大约阅读时间需要 9 分钟。

SpringBoot整合Redis

SpringBoot对很多NoSQL数据库提供了自动化支持,包括Redis、MongoDB、Elasticsearch、Solr等

引入依赖

org.springframework.boot
spring-boot-starter-data-redis
org.springframework.boot
spring-boot-starter-test
test
复制代码
注:spring-boot-starter-data-redis的配置变更

在springboot1.4.x版本更新日志中有这么一段说明:

Renamed startersThe following starters have been renamed, the old ones will be removed in Spring Boot 1.5spring-boot-starter-redis → spring-boot-starter-data-redis...复制代码

即spring-boot-starter-redis从1.4.0版本开始更名为spring-boot-starter-data-redis,在1.4.7之后完全移除掉spring-boot-starter-redis。

  • 当springboot版本号小于1.4.0时,只能添加spring-boot-starter-redis的jar包;
  • 版本号在1.4.0到1.4.7之间时,添加spring-boot-starter-redis和spring-boot-starter-data-redis皆可,两者的包没有区别;
  • 从1.5.0版本开始,只能添加spring-boot-starter-data-redis包。

配置

SpringBoot从1.x到2.x,对redis的配置有一些变更。

旧版配置
spring.redis.database=0spring.redis.host=192.168.99.100spring.redis.port=6379#spring.redis.password= # Login password of the redis server.spring.redis.pool.max-active=8spring.redis.pool.max-idle=8spring.redis.pool.max-wait=-1spring.redis.pool.min-idle=0#spring.redis.sentinel.master= # Name of Redis server.#spring.redis.sentinel.nodes= # Comma-separated list of host:port pairs.spring.redis.timeout=10复制代码
新版配置

如果使用jedis,将lettuce改为jedis,并引入jedis依赖即可

# Redis数据库索引(默认为0)spring.redis.database=0# Redis服务器地址spring.redis.host=192.168.99.100# Redis服务器连接端口spring.redis.port=6379#spring.redis.password= # Login password of the redis server.# 连接池最大连接数(使用负值表示没有限制)spring.redis.lettuce.pool.max-active=8# 连接池中的最大空闲连接spring.redis.lettuce.pool.max-idle=8# 连接池最大阻塞等待时间(使用负值表示没有限制)spring.redis.lettuce.pool.max-wait=-1ms# 连接池中的最小空闲连接spring.redis.lettuce.pool.min-idle=0#spring.redis.sentinel.master= # Name of Redis server.#spring.redis.sentinel.nodes= # Comma-separated list of host:port pairs.# 连接超时时间(毫秒)spring.redis.timeout=100ms复制代码

测试访问

@RunWith(SpringRunner.class)@SpringBootTestpublic class BootDemoApplicationTests {    @Autowired    private StringRedisTemplate stringRedisTemplate;    @Test    public void contextLoads() {        //保存字符串        stringRedisTemplate.opsForValue().set("key", "1234");        Assert.assertEquals("1234", stringRedisTemplate.opsForValue().get("key"));    }}//在早期版本中,在1.4版本之后@SpringBootTest注解替换了@SpringApplicationConfiguration注解。复制代码

在SpringBoot1.x版本中,spring-boot-starter-data-redis使用的是Jedis。SpringBoot2.x版本,默认使用的是Lettuce,也提供了对Jedis的支持。

Jedis和Lettuce

两个框架的定位都是Redis的客户端。Jedis的API提供了比较全面的Redis命令的支持,相比Lettuce更加原生。在多线程环境下是非线程安全的,这个时候只有使用连接池,为每个Jedis实例增加物理连接; Lettuce用于线程安全同步,异步和响应使用,支持集群,管道和编码器。基于Netty框架的事件驱动的通信层,其方法调用是异步的。Lettuce的API是线程安全的,所以可以操作单个Lettuce连接来完成各种操作,当然也可以按需增加连接实例。

转载地址:http://tvsxx.baihongyu.com/

你可能感兴趣的文章
Reactive Extensions入门(6):使用Rx进行单元测试
查看>>
利用OpenCV在picture控件中显示图片
查看>>
灵活的数据管理和展示javascript类库 - Recline.js
查看>>
XslTransform.Transform方法将结果输出到字符串
查看>>
在shell中获取当前机器的ip地址
查看>>
win8 开发之旅(5) --五子棋游戏开发
查看>>
单例HashTable例子
查看>>
[CareerCup][Google Interview] Find kth number in a BST
查看>>
解决Putty中左边 alt+b 不工作的问题
查看>>
ORACLE批量更新四种方法比较
查看>>
web开发人员必备的提高开发水平的20个参考手册
查看>>
socat: Linux / UNIX TCP Port Forwarder
查看>>
HDOJ 2056
查看>>
2012年最佳免费网站和移动应用 PSD 界面素材揭晓
查看>>
github (远端建立分支....配置见github 官网配置)
查看>>
gjrand 4.0 发布,C语言的伪随机数生成器
查看>>
实战DeviceIoControl 之七:在Windows 9X中读写磁盘扇区
查看>>
简明Linux命令行笔记:locate
查看>>
EF Code First 学习笔记:约定配置
查看>>
自动完成文本框AutoCompleteTextView
查看>>