删除代码:

Set keys = redisTemplate.keys("*");
redisTemplate.delete(keys);

如果删除无效,大概率是redistemplate默认的k使用的是jdk序列化,导致无法正确识别“*”引起的,
解决办法:K改为String序列化

例如,在项目启动类下面加这个

	@Bean
	public RedisTemplate redisTemplate(@Autowired RedisTemplate redisTemplate){
		redisTemplate.setKeySerializer(redisTemplate.getStringSerializer());
		//@bean方式将K设为String序列化后,V会自动转为String序列化。
		// 为了保持Object类型的V值,故我这边需将V设回默认的jdk的V,
		redisTemplate.setValueSerializer(redisTemplate.getDefaultSerializer());
		return redisTemplate;
	}
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐