Redis 是目前使用十分廣泛的內(nèi)存數(shù)據(jù)庫。Redis 比 Memcached 支持更豐富的數(shù)據(jù)類型,如 Lists, Hashes, Sets 及 Ordered Sets 等,支持?jǐn)?shù)據(jù)持久化、備份;除此之外,Redis 還支持事務(wù),HA,主從庫,同時(shí)兼具了非關(guān)系型數(shù)據(jù)庫與關(guān)系型數(shù)據(jù)的特性,有著豐富的應(yīng)用場(chǎng)景。
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、配置文件
單機(jī)模式
# Redis數(shù)據(jù)庫索引(默認(rèn)為0)spring.redis.database=0# Redis服務(wù)器地址spring.redis.host=127.0.0.1# Redis服務(wù)器連接端口spring.redis.port=6379# Redis服務(wù)器連接密碼(默認(rèn)為空)spring.redis.password=# 連接池最大連接數(shù)(使用負(fù)值表示沒有限制)spring.redis.jedis.pool.max-active=8# 連接池最大阻塞等待時(shí)間(使用負(fù)值表示沒有限制)spring.redis.jedis.pool.max-wait=-1# 連接池中的最大空閑連接spring.redis.jedis.pool.max-idle=8# 連接池中的最小空閑連接spring.redis.jedis.pool.min-idle=0# 連接超時(shí)時(shí)間(毫秒)spring.redis.timeout=5000
哨兵模式
spring.redis.lettuce.pool.max-active=8spring.redis.lettuce.pool.max-wait=-1spring.redis.lettuce.pool.max-idle=8spring.redis.lettuce.pool.min-idle=0spring.redis.timeout=5000spring.redis.database=0spring.redis.sentinel.master=mymasterspring.redis.sentinel.nodes=127.0.0.1:26380,127.0.0.1:26381,127.0.0.1:26382spring.redis.password=
3、測(cè)試
@RunWith(SpringRunner.class)@SpringBootTestpublic 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、實(shí)現(xiàn)共享 Session
1)添加依賴
<dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId></dependency>
2)配置
@Configuration@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 86400)public class SessionConfig {}maxInactiveIntervalInSeconds: 設(shè)置 Session 失效時(shí)間使用 Redis Session 之后,原 Spring Boot 的 server.session.timeout 屬性不再生效。
注
maxInactiveIntervalInSeconds: 設(shè)置 Session 失效時(shí)間。
使用 Redis Session 之后,原 Spring Boot 的 server.session.timeout 屬性不再生效。
聯(lián)系客服