簡介Redis 是目前使用十分廣泛的記憶體資料庫。Redis 比 Memcached 支持更豐富的數據類型,如 Lists, Hashes, Sets 及 Ordered Sets 等,支持數據持久化、備份;除此之外,Redis 還支持事務,HA,主從庫,同時兼具了非關係型資料庫與關係型數據的特性,有 ...
簡介
Redis 是目前使用十分廣泛的記憶體資料庫。Redis 比 Memcached 支持更豐富的數據類型,如 Lists, Hashes, Sets 及 Ordered Sets 等,支持數據持久化、備份;除此之外,Redis 還支持事務,HA,主從庫,同時兼具了非關係型資料庫與關係型數據的特性,有著豐富的應用場景。
使用
1、引入依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>2.1.5.RELEASE</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> <version>2.0</version> </dependency>
2、配置
單機模式
# Redis資料庫索引(預設為0) spring.redis.database=0 # Redis伺服器地址 spring.redis.host=127.0.0.1 # Redis伺服器連接埠 spring.redis.port=6379 # Redis伺服器連接密碼(預設為空) spring.redis.password= # 連接池最大連接數(使用負值表示沒有限制) spring.redis.jedis.pool.max-active=8 # 連接池最大阻塞等待時間(使用負值表示沒有限制) spring.redis.jedis.pool.max-wait=-1 # 連接池中的最大空閑連接 spring.redis.jedis.pool.max-idle=8 # 連接池中的最小空閑連接 spring.redis.jedis.pool.min-idle=0 # 連接超時時間(毫秒) spring.redis.timeout=5000
哨兵模式
spring.redis.lettuce.pool.max-active=8 spring.redis.lettuce.pool.max-wait=-1 spring.redis.lettuce.pool.max-idle=8 spring.redis.lettuce.pool.min-idle=0 spring.redis.timeout=5000 spring.redis.database=0 spring.redis.sentinel.master=mymaster spring.redis.sentinel.nodes=127.0.0.1:26380,127.0.0.1:26381,127.0.0.1:26382 spring.redis.password=
3、測試
@RunWith(SpringRunner.class) @SpringBootTest public class RedisTests { @Autowired private StringRedisTemplate stringRedisTemplate; @Test public void contextLoads() { } @Test public void setRedis(){ stringRedisTemplate.opsForValue().set("key1","張三"); } @Test public void getRedis(){ String s = stringRedisTemplate.opsForValue().get("key1"); System.out.println("s: "+s); } }
4、實現共用Session
引入依賴
<dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency>
配置
@Configuration @EnableRedisHttpSession(maxInactiveIntervalInSeconds = 86400) public class SessionConfig { }
maxInactiveIntervalInSeconds: 設置 Session 失效時間
使用 Redis Session 之後,原 Spring Boot 的 server.session.timeout 屬性不再生效。
歡迎關註微信公眾號:牧碼筆記,時時獲取最新技術分享。