什么是Redis
Redis(Remote Dictionary Server)是一个开源的内存数据库,遵守 BSD 协议,它提供了一个高性能的键值(key-value)存储系统,常用于缓存、消息队列、会话存储等应用场景。
SpringBoot 如何接入
- 引入依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
- 配置yml
spring:
redis:
host: 127.0.0.1
port: 6379
database: 3
password: pwd
- 进行测试
@Autowired
private RedisTemplate<String,String> redisTemplate;
@Test
public void setValueByKey() {
// 设置缓存 参数为 key value 数字 日期类型
redisTemplate.opsForValue().set("TEST:KEY","TEST",1L, TimeUnit.DAYS);
}
@Test
public void getValueByKey() {
// 根据key 获取value
String value = redisTemplate.opsForValue().get("TEST:KEY");
}
接入redisson做分别式锁
- 引入依赖
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-boot-starter</artifactId>
<version>3.13.4</version>
</dependency>
- 编写配置类
public class RedissonConfig {
@Value("${spring.redis.host}")
private String host;
@Value("${spring.redis.port}")
private String port;
@Value("${spring.redis.password}")
private String password;
@Bean
public RedissonClient getRedissonClient() {
Config config = new Config();
String address = "redis://".concat(host).concat(":").concat(port);
config.useSingleServer().setAddress(address);
config.useSingleServer().setPassword(password);
return Redisson.create(config);
}
}
- 进行测试
@Test
public void lock() throws InterruptedException {
RLock lock = redissonClient.getLock("lock");
lock.tryLock(1,1,TimeUnit.MINUTES);
// 业务代码
lock.unlock();
}
畅联AIoT开放云平台(www.24hlink.cn)由杭州美畅物联技术有限公司精心打造,不仅能够接入视频,也可以接入、管理各种IoT设备、工业现场设备,在AIoT开发领域能给合作伙伴带来难以置信的的降本增效价值。