删除代码:

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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐