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 手动转换序列化‘’