redis简介
看这里
使用
1.pom.xml引入插件
<!-- redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- lettuce使用连接池连接redis,不用可以不加 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
springboot 2.x集成redis使用的lettuce,原因
jedis采用的是直连redis server,在多个线程之间共用一个jedis实例时,是线程不安全的。如果想避免线程不安全,可以使用连接池pool,这样每个线程单独使用一个jedis实例。由此带来的问题时,如果线程数过多,带来redis server的负载加大。有点类似于BIO的模式。
lettuce采用netty连接redis server,实例可以在多个线程间共享,不存在线程不安全的情况,这样可以减少线程数量。当然,在特殊情况下,lettuce也可以使用多个实例。有点类似于NIO的模式。
2.配置文件配置信息
#===============redis配置==========================
#连接池最大连接数
spring.redis.lettuce.pool.max-active=8
#连接池中最大最小空闲连接
spring.redis.lettuce.pool.min-idle=0
spring.redis.lettuce.pool.max-idle=8
#最大阻塞等待时间,负值表示没有限制
spring.redis.lettuce.pool.max-wait=-1
spring.redis.host=localhost
spring.redis.port=3306
spring.redis.password=12345678
spring.redis.database=2
#连接超时时间,单位ms
spring.redis.timeout=5000
#redis集群配置
spring.redis.cluster.nodes=10.150.2.123:6379,10.150.3.33:6379
#哨兵模式配置
#spring.redis.sentinel.master=mymaster
#spring.redis.sentinel.nodes=10.150.2.123:26379,10.150.2.124:26379,10.150.2.125:26379
#==================================================
3.需要自己完成手动配置,封装工具类
具体参考:
https://www.cnblogs.com/zeng1994/p/03303c805731afc9aa9c60dbbd32a323.html
这里是我使用的工具类:
https://download.csdn.net/download/u013919153/12001416
4.测试
@Test
public void testRedis(){
RedisUtil.setex("11", "22", 100);
System.out.println("设置成功");
String str = RedisUtil.getStr("11");
System.out.println("key: 11: value: "+str);
}
结果:
开发查看工具:
技巧:
在保存redis时值最好用冒号隔开,目录分级。举例:user:111:test