org.springframework.daoInvalidDataAccessApiUsageException: WRONGTYPE Operation against a key holding the wrong kind of value; nested exception is redis.clients.jedis.exceptions.JedisDataException: WRONGTYPE Operation against a key holding the wrong kind of value
首先我用redisTemplate.opsForValue()存了一组<k,v>,伪代码如下:
private static final String REDIS_KEY_PRIFFIX = "string:"; public void set(String val) { String key = REDIS_KEY_PRIFFIX +val; redisTemplate.opsForValue().set(key, val); } //测试方法 @Test public void setTest1() { redisStringService.set("aa"); }
然后用redisTemplate.opsForList()存另一组<k,v>,伪代码如下
private static final String REDIS_KEY_PREFIX = "string:"; public void initArticle() { LocalDateTime localDateTime = LocalDateTime.now(); String localTime = localDateTime.format(DateTimeFormatter.ofPattern("yyyy-mm-dd HH:mm")); long id = (new Random().nextInt(8000) + 1); List<Article> articles = new ArrayList<>(); for (int i = 1; i < 6; i++) { Article article = new Article( "1000" + i, "myron" + i, localTime, "content" + i, "title" + i, id); articles.add(article); } String redisKey = REDIS_KEY_PRIFIX + "aa"; redisTemplate.opsForList().leftPushAll(redisKey,articles); } //测试方法 @Test public void test1() { redisListService.initArticle(); }
随后报错:
org.springframework.daoInvalidDataAccessApiUsageException: WRONGTYPE Operation against a key holding the wrong kind of value; nested exception is redis.clients.jedis.exceptions.JedisDataException: WRONGTYPE Operation against a key holding the wrong kind of value
解决办法:
在redis官网没找到原因,应该是类型出错了,把key删掉就ok了