redis 存在就更新,不存在就新增
时间: 2023-08-05 20:28:05 浏览: 318
mysql 存在该记录则更新,不存在则插入记录的sql
在 Redis 中,如果我们要实现存在即更新,不存在即新增的操作,可以使用 Redis 的 SET 命令,该命令可以实现对一个键值对的设置,如果该键已经存在,则会更新该键的值,如果该键不存在,则会新增一个键值对。
在 Spring Boot 中,可以通过 RedisTemplate 的相关方法来实现存在即更新,不存在即新增的操作,示例代码如下:
```java
@Autowired
private RedisTemplate<String, Object> redisTemplate;
public void saveOrUpdate(String key, Object value) {
redisTemplate.opsForValue().set(key, value);
}
```
以上代码中,我们通过 RedisTemplate 的 set 方法来实现存在即更新,不存在即新增的操作,如果该 key 已经存在,则会更新该 key 的值,如果该 key 不存在,则会新增一个 key-value 对。
如果需要设置 key 的过期时间,可以在 set 方法中添加时间参数,示例代码如下:
```java
public void saveOrUpdateWithExpire(String key, Object value, long timeout, TimeUnit unit) {
redisTemplate.opsForValue().set(key, value, timeout, unit);
}
```
以上代码中,我们通过 RedisTemplate 的 set 方法来实现存在即更新,不存在即新增的操作,并且设置了 key 的过期时间。
阅读全文