第九篇:整合Lettuce Redis

是为了简化 应用的创建、运行、调试、部署等一系列问题而诞生的产物,

除了支持常见的ORM框架外,更是对常用的中间件提供了非常好封装,随着 的到来,支持的组件越来越丰富,也越来越成熟,其中对 的支持不仅仅是丰富了它的API,更是替换掉底层 的依赖,取而代之换成了

Redis介绍

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。相比 它支持存储的类型相对更多( 、 、 、 、 、 )同时 是线程安全的。2010年3月15日起,Redis的开发工作由VMware主持,2013年5月开始,Redis的开发由 赞助。

Lettuce

和 的都是连接 的客户端程序。 在实现上是直连 ,多线程环境下非线程安全,除非使用连接池,为每个Jedis实例增加物理连接。 基于Netty的连接实例(StatefulRedisConnection),可以在多个线程间并发访问,且线程安全,满足多线程环境下的并发访问,同时它是可伸缩的设计,一个连接实例不够的情况也可以按需增加连接实例

导入依赖

在 中 的依赖, 后底层不在是 如果做版本升级的朋友需要注意下

属性配置

在 文件中配置如下内容,由于 的改动,连接池相关配置需要通过 或者 进行配置了

具体编码

对 的支持已经非常完善了,良好的序列化以及丰富的API足够应对日常开发

实体类

创建一个 类

自定义Template

默认情况下的模板只能支持 ,也就是只能存入字符串,这在开发中是不友好的,所以自定义模板是很有必要的,当自定义了模板又想使用 存储这时候就可以使用 的方式,它们并不冲突...

测试

完成准备事项后,编写一个 测试类来检验代码的正确性,有很多人质疑过 线程安全性,故下面也提供了响应的测试案例,如有疑问欢迎指正

其它类型

下列的就是 其它类型所对应的操作方式

opsForValue:对应 String(字符串)

opsForZSet:对应 ZSet(有序集合)

opsForHash:对应 Hash(哈希)

opsForList:对应 List(列表)

opsForSet:对应 Set(集合)

opsForGeo:对应 GEO(地理位置)

总结

文档:https://docs.spring.io/spring-data/redis/docs/2.0.1.RELEASE/reference/html/#new-in-2.0.0文档:https://redis.io/documentation中文文档:http://www.redis.cn/commands.html

目前很多大佬都写过关于的教程了,如有雷同,请多多包涵,本教程基于最新的 编写,包括新版本的特性都会一起介绍...

说点什么

全文代码:https://github.com/battcn/spring-boot2-learning/tree/master/chapter8

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180511G0EUGT00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券