redisTemplate.opsForValue().set() 如果key已存在
时间: 2024-09-25 11:19:43 浏览: 38
RedisTemplate具体操作
`redisTemplate.opsForValue().set()` 是Spring Data Redis提供的一个操作方法,用于将值存储到Redis服务器的键(key)中。如果key已经存在,这个方法会覆盖原有的值。如果设置失败(例如内存溢出或者权限问题),默认不会抛出异常,而是返回`null`。
当调用`set()`并指定的键已经存在于Redis中,它会直接替换该键对应的旧值,并返回`true`表示设置成功。如果你想避免覆盖原有值并获取现有的值,可以使用`getAndSet()`方法,或者检查键是否存在再决定是否设置。
```java
String existingValue = redisTemplate.opsForValue().get(key); // 获取键的值,若不存在则为null
if (existingValue == null) {
String newValue = "new value";
redisTemplate.opsForValue().set(key, newValue); // 若键不存在,则设置新值
} else {
// key已存在,处理现有值
}
```
阅读全文