使用场景:
- 热点数据的缓存(redis访问速度快、数据类型丰富,适合存储热点数据)
- 限时业务的运用(expire指令设置键的生存时间,可用在限时优惠活动、手机验证码等业务场景)
- 计数器(incrby命令可以实现原子性的递增,可用于秒杀活动、分布式序列号的生成、具体业务还体现在比如限制一个手机号发多少条短信、一个接口一分钟限制多少请求、一个接口一天限制调用多少次等等)
- 排行榜
- 分页、模糊搜索
- 更多信息请看原文…
配置及使用
首先是导包:
<!--- redis依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
然后加入配置:
#reids相关配置
#redis服务器地址
spring.redis.host=localhost
#雷迪森服务器端口
spring.redis.port=6379
#redis密码,默认为空
spring.redis.password=123456
#redis数据库索引(默认为0)
spring.redis.database=0
#连接池对打阻塞等待时间(负表示没有限制)
spring.redis.jedis.pool.max-wait=10000
#连接池最大连接数(负表示没有限制)
spring.redis.jedis.pool.max-active=100
#连接池中的最大空闲链接
spring.redis.jedis.pool.max-idle=20
#连接池中的最小空闲链接
spring.redis.jedis.pool.min-idle=0
#链接超时时间
spring.redis.timeout=3000
接着是使用:
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;
@SpringBootTest
class RedisDemoApplicationTests {
@Autowired
private RedisTemplate<String, String> redisTemplate;
@Test
void contextLoads() {
//向redis中添加数据
redisTemplate.opsForValue().set("key", "value");
//根据键值取出数据
System.out.println(redisTemplate.opsForValue().get("key"));
}
}