1.Jedis :redis官方推荐的Java连接工具,从maven仓库拷贝以下依赖即可使用;
<!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.3.0</version>
</dependency>//连接redis服务器
Jedis jedis = new Jedis("host","port");
//事务处理
//开启事务
Transaction multi = Jedis.multi();
try{
mutil.set("k","v1");e
}catch(Exception e){
//放弃事务
multi.discard();
e.printStackTrace();
}finally{
//关闭连接
jedis.close();}
2.SpringBoot整合
说明: springboot2.x之后底层使用的是lettuce
jedis:采用的直连,多个线程操作的话,是不安全的,如果想要避免不安全,使用jedis pool连接池;
lettuce: 采用netty,实例可以在多线程中进行共享,不存在线程不安全的情况,可以减少线程数量;
a.导入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
b.配置 application.propertis
spring.redis.host=
spring.redis.port=
c.使用RedisTemplate进行操作:
@Autowired
RedisTemplate redisTemplate;
1.官方RedisTemplate是使用JDK的序列化,造成中文乱码问题,需修改为json序列化;
2.对象的传输需要序列化,springboot中可用objectMapper将对象转为Json对象
3.配置RedisTemplate
序列化方式
编写自己的RedisTemplate
Redis工具类