Redis - Java 编码调用
Jedis
Jedis 是 Redis 官方推荐的Java连接开发工具。
手动编程
redis 依赖
1 |
|
常用API
基本操作
1 |
|
对key操作的命令
1 |
|
对String操作的命令
1 |
|
对List操作命令
1 |
|
对Set的操作命令
1 |
|
对Hash的操作命令
1 |
|
事务
1 |
|
SpringBoot整合
基础使用
概述:
在SpringBoot中一般使用RedisTemplate提供的方法来操作Redis。那么使用SpringBoot整合Redis需要那些步骤呢。
JedisPoolConfig (这个是配置连接池)
RedisConnectionFactory 这个是配置连接信息,这里的RedisConnectionFactory是一个接口,我们需要使用它的实现类,在SpringD Data Redis方案中提供了以下四种工厂模型:
- JredisConnectionFactory
- JedisConnectionFactory
- LettuceConnectionFactory
- SrpConnectionFactory
RedisTemplate 基本操作
导入依赖
1 |
|
说明:在springboot2.x之后,原来使用的jedis被替换成lettuce
yaml配置
1 |
|
测试类中测试
1 |
|
序列化config
创建springboot新项目,安装上面步骤导入依赖
1、分析 RedisAutoConfiguration 自动配置类
1 |
|
通过源码可以看出,SpringBoot自动帮我们在容器中生成了一个RedisTemplate和一个StringRedisTemplate。
但是,这个RedisTemplate的泛型是,写代码不方便,需要写好多类型转换的代码;我们需要一个泛型为形式的RedisTemplate。
并且,这个RedisTemplate没有设置数据存在Redis时,key及value的序列化方式。
看到这个@ConditionalOnMissingBean注解后,就知道如果Spring容器中有了RedisTemplate对象了, 这个自动配置的RedisTemplate不会实例化。因此我们可以直接自己写个配置类,配置 RedisTemplate。
用这个配置我们不可以存储对象,否则会报SerializationException,大家可自己试试
2、既然自动配置不好用,就重新配置一个RedisTemplate
1 |
|
创建User对象,name和age
测试存对象
1 |
|
redis工具类
使用RedisTemplate需要频繁调用.opForxxx
然后才能进行对应的操作,这样使用起来代码效率低下,工作中一般不会这样使用,而是将这些常用的公共API抽取出来封装成为一个工具类,然后直接使用工具类来间接操作Redis,不但效率高并且易用。
工具类参考博客:
https://www.cnblogs.com/zeng1994/p/03303c805731afc9aa9c60dbbd32a323.html