Springboot-Redis - 1.Redis简介


👀概述

  • Redis是一个高级key/value存储。它类似于memcached,但数据集是不稳定(volatile)的,值可以是字符串,与memcached完全一样,也可以是列表、集合和有序集合。所有这些数据类型都可以通过原子操作来操作,如push/pop元素、添加/删除元素、执行服务器端的并集、交集、差集等等。Redis支持不同类型的排序能力。
  • Spring Data Redis为Spring应用程序提供了简单的配置和对Redis的访问。它为与存储(store)的互动提供了低级和高级的抽象,将用户从基础设施的关注中解放出来。

👀Redis的要求

  • Spring Redis需要Redis 2.6或以上版本,Spring Data Redis与 Lettuce 和 Jedis(两个流行的Redis开源Java库)整合。

👀Redis 配置

RedisCacheManager 默认配置:

设置描述
Cache Writer无锁,KEYS 批处理策略缓存写入策略,默认使用无锁方式,可能切换到 SCAN 策略
Cache ConfigurationRedisCacheConfiguration#defaultConfiguration缓存配置,默认配置 RedisCacheConfiguration#defaultConfiguration
Initial CachesNone初始缓存,默认情况下没有定义初始缓存
Transaction AwareNo是否事务感知,默认不支持事务感知

RedisCacheConfiguration 默认配置:

设置描述
Key ExpirationNone缓存键过期时间,默认情况下不设置过期时间
Cache nullYes是否缓存空值,默认情况下会缓存空值
Prefix KeysYes是否对缓存键添加前缀,默认情况下会添加前缀
Default PrefixThe actual cache name默认的缓存键前缀,默认使用实际的缓存名称作为前缀
Key SerializerStringRedisSerializer缓存键的序列化器,默认使用 StringRedisSerializer
Value SerializerJdkSerializationRedisSerializer缓存值的序列化器,默认使用 JdkSerializationRedisSerializer
Conversion Service带有默认 cache key converter 的 DefaultFormattingConversionService转换服务,用于将缓存键或值进行转换,默认带有默认的缓存键转换器

👀Redis 支持的功能 / 特性

支持的功能 / 特性LettuceJedisRedisson
单机连接支持支持支持
主/从 连接支持支持
Redis 哨兵模式主服务器查找, 哨兵验证, 读取副本主服务器查找主服务器查找, 哨兵验证, 读取副本
Redis 集群集群连接, 集群节点连接, 读取副本集群连接, 集群节点连接集群连接, 集群节点连接, 读取副本
传输通道TCP, 操作系统原生TCP (epoll, kqueue), Unix 域套接字TCPTCP, Unix 域套接字
连接池支持 (使用 commons-pool2)支持 (使用 commons-pool2)支持 (内置)
其他连接特性单连接共享用于非阻塞命令管道和事务是互斥的。在管道/事务中不能使用服务器/连接命令。分布式锁, 语义发布/订阅等高级特性
SSL 支持支持支持支持
发布/订阅支持支持支持
管道支持支持 (管道和事务是互斥的)支持
事务支持支持 (管道和事务是互斥的)支持
数据类型支持键, 字符串, 列表, 集合, 有序集, 哈希, 服务器, 流, 脚本, 地理, HyperLogLog键, 字符串, 列表, 集合, 有序集, 哈希, 服务器, 脚本, 地理, HyperLogLog键, 字符串, 列表, 集合, 有序集, 哈希, 服务器, 脚本, 地理, HyperLogLog, 多种高级数据结构
响应式 (非阻塞) API支持支持
优点- 线程安全
- 支持自动重连
- 丰富的数据结构
- 简单且直接
- 性能高
- 丰富的 API 和数据结构
- 高度可配置
- 内置连接池
缺点- 由于其复杂的内部结构, 可能稍慢- 非线程安全
- 可能不支持所有高级功能
- 较为重量级
区别- 提供响应式编程支持
- 默认客户端
- 为底层的客户端
- 不支持响应式编程
- 提供了许多高级特性,如分布式锁
- 基于Netty实现
使用场景- 需要线程安全
- 与 Redis 集群交互
- 单一 Redis 节点或哨兵模式
- 需要轻量级的客户端
- 需要实现分布式锁
- 需要使用高级数据结构和功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yueerba126

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值