Spring Boot 2.X 学习日记——整合redis
2019-04-02 23:59
627 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014252106/article/details/88984529
文章目录
Redis介绍
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
随着Spring Boot支持的组件越来越多,技术也越来越成熟。在Spring Boot 2.X以后,对Redis的支持不再仅仅只是提供越来越强大的API,更是在底层,将Redis的默认客户端从
Jedis改为了
Lettuce。
#Lettuce和Jedis
Lettuce和
Jedis都是Java开发中,与Redis进行交互的中间件。
Jedis在实现上是直连redis server,多线程环境下非线程安全,除非使用连接池,为每个Jedis实例增加物理连接。
Lettuce基于Netty的连接实例(StatefulRedisConnection),可以在多个线程间并发访问,且线程安全,满足多线程环境下的并发访问,同时它是可伸缩的设计,一个连接实例不够的情况也可以按需增加连接实例。
添加依赖包
compile 'org.springframework.boot:spring-boot-starter-data-redis'
tips:在Spring Boot 2.X后,
Jedis的相关依赖已经被剔除,改为了
Lettuce。
配置Redis
在
application.yml中添加redis相关配置
spring: redis: host: #地址 port: #端口 password: #密码 timeout: # 连接超时时间(毫秒) lettuce: pool: max-active: #连接池最大连接数(使用负值表示没有限制) 默认 8 max-wait: # 连接池最大阻塞等待时间(使用负值表示没有限制) 默认 -1 max-idle: # 连接池中的最大空闲连接 默认 8 min-idle: # 连接池中的最小空闲连接 默认 0
测试
一切准备就绪后,写个junit测试类来验证代码的正确性
Notice.java
package com.boot.demo.entity; import java.io.Serializable; public class Notice implements Serializable { private static final long serialVersionUID = 210818469999970139L; private String id; private String context; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getContext() { return context; } public void setContext(String context) { this.context = context; } }
RedisTest.java
package com.boot.demo.test; import com.boot.demo.entity.Notice; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.redis.core.ValueOperations; import org.springframework.test.context.junit4.SpringRunner; import javax.annotation.Resource; @RunWith(SpringRunner.class) @SpringBootTest(properties = "spring.main.web-application-type=reactive") public class RedisTest { @Resource(name = "redisTemplate") private ValueOperations<String,Object> valueOperations; @Test public void get(){ Notice notice = new Notice(); notice.setId("111"); notice.setContext("Hello"); String key = "string:notice"; valueOperations.set(key,notice); System.out.println(notice); notice = (Notice)valueOperations.get(key); System.out.println(notice); } }
XXXOperations
在Spring Boot中,对Redis的支持,其实主要是通过
Spring Data Redis这个框架去完成的,它对Redis的支持,主要体现在框架中的XXXOperations,我们在实际开发中可以通过注入这些Operations来完成IO操作。下面简单的列举了几种常用的Operations
接口 | 描述 |
---|---|
HashOperations | 处理Hash结构的相关操作 |
ListOperations | 处理List结构的相关操作 |
SetOperations | 处理Set结构的相关操作 |
ValueOperations | 处理String结构的相关操作 |
ZSetOperations | 处理ZSet(或者 Sorted Set)结构的相关操作 |
想了解更多关于XXXOperations的知识的话,可以访问官方地址
相关文章推荐
- Spring Boot 学习笔记--整合Redis
- SpringBoot整合Redis——学习笔记
- Spring Boot学习之旅:(六)springboot 整合 redis 以及 redis 通用工具类
- Spring Boot学习之整合Redis实现缓存
- springboot学习笔记-3 整合redis&mongodb【转载】
- SpringBoot学习-(二十二)SpringBoot整合Redis(使用Jedis)
- SpringBoot学习七:springboot整合mybatis详解
- 用springBoot与dubbo、 zookeeper、redis整合做了一个弹幕网站
- SpringBoot学习:整合shiro(身份认证和权限认证),使用EhCache缓存
- spring boot 2.x 系列 —— spring boot 整合 redis
- Spring Securit学习笔记之整合Spring Boot
- springBoot整合redis
- spring boot 整合mybatis,redis,热部署
- springboot与redis的简单整合实例
- SpringBoot整合mybatis、shiro、redis实现基于数据库的细粒度动态权限管理系统实例
- SpringBoot学习-(六)SpringBoot与Mybatis整合
- 从.Net到Java学习第四篇——spring boot+redis,互联网 面试官 如何面试
- Spring boot 整合redis单机版
- 学习记录: SpringBoot+Dubbo+zookeeper整合实现,以及遇到的坑