Redis的JAVA客户端

jedis 以redis 命令作为方法名称, 线程不安全的,多线程环境下需要基于连接池来使用

lettuce 是基于netty 来实现的, 支持同步、异步和响应式编程方式, 并且是线程安全的。支持redis 的哨兵模式、集群模式和管道模式

Redisson 基于Redis 实现的分布式、可伸缩的Java数据结构集合, 包含了诸如 Map、Queue、Lock、Semaphore、AtomicLong等强大功能

jedis客户端

1、引入依赖

2、建立连接、设置密码、选择库

3、测试String

4、释放资源 close

jedis连接池

频繁的创建和销毁jedis 对象是一个很大的性能损耗, 推荐使用连接池

1、 定义一个工具类

jedisPool()

jedisPoolConfig();

MaxTotle() 最大连接数

MaxIdel() 最大空闲连接

MinIdel() 最小空闲连接

MaxWaitMilis() 获取连接等待时长

SpringDataRedis客户端

对其他不同redis客户端的整合(lettuce和jedis)

提供了redisTemplate统一API来操作Redis

支持Redis的发布订阅模型

支持基于JDK、Json、字符串、Spring对象的数据序列化和反序列化

提供了RedisTemplate工具类, 讲不通数据类型的操作API封装到了不同的类型中

1、引入依赖 spring-boot-starter-data-redis commons-pool

2、配置文件

3、注入 RedisTemplate

4、编写测试

序列化方式

缺点: 可读性差、内存占用大

1、 自定义,修改序列化器

@Configuration

1、创建对象

2、设置连接工厂

3、创建Json序列号工具

4、设置key、value 序列化工具

5、返回

2、使用string 手动转换序列化‘’