Spring Redis Delete不删除key

标签 spring redis

我正在尝试删除一个 Redis 键,但由于某种原因它没有被删除,但也没有抛出异常。这是我要删除的代码:

import com.example.service.CustomerService;
import com.example.model.Customer;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;

import java.math.BigInteger;
import java.util.*;

@Service
public class RedisCustomerService implements CustomerService {

    @Autowired
    private RedisTemplate<String, Object> redisTemplate; 

    private String uniqueIdKey = "customerId";

    private BigInteger uniqueId() {
        long uniqueId = this.redisTemplate.opsForValue().increment(uniqueIdKey, 1);
        return BigInteger.valueOf(uniqueId);
    }

    private String lastNameKey(BigInteger id) {
        return "customer:ln:" + id;
    }

    private String firstNameKey(BigInteger id) {
        return "customer:fn:" + id;
    }

    @Override
    public void deleteCustomer(BigInteger id) {
        redisTemplate.opsForValue().getOperations().delete(String.valueOf(id));
    }
}

最佳答案

ValueOperations 没有delete 方法。所以以下将不起作用:

redisTemplate.opsForValue().delete(key);

尝试

redisTemplate.delete(key);

关于Spring Redis Delete不删除key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21058933/

相关文章:

Redis:排序集的最大分数大小?分数 + 唯一 ID = 唯一分数?

python-3.x - python Quart 中的 Websockets 有多个 worker ?

java - 在 Java 中查明 Sun Directory Server 5.2 中的 LDAP 用户是否被锁定

java - 在 XML 免费项目中使用 spring 在 404 上返回 JSON

java - 如何使用 spring-boot 和 thymeleaf 设置标准 i18n 语言环境?

shell - 将Redis 添加到/etc/services 最优雅的方式是什么?

redis - HiRedis::如何使用 LPUSH 在 Redis 列表中插入一个空字符串

c# - 使用 AspNet SignalR 连接 Redis

java - 无法让@Autowired 与 bean 一起工作

Spring Data JPA 自定义通用存储库模式问题