目标如图所示 用的是redis客户端查看工具 RedisDesktopManager
代码结构及其目录
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cache.CacheManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.core.StringRedisTemplate;
/**
* Created by freezhan on 16/9/5.
*/
@Configuration
public class CacheConfig {
//过期时间
@Value("${redisDefaultExpiration}")
private long redisDefaultExpiration;
//缓存key前缀
@Value("${spring.application.name}")
private String cachePrefix;
@Autowired
private StringRedisTemplate redisTemplate;
@Bean
public CacheManager cacheManager() {
RedisCacheManager manage = new RedisCacheManager(redisTemplate);
manage.setDefaultExpiration(redisDefaultExpiration);
manage.setCachePrefix(new RedisPrefix(cachePrefix));
manage.setUsePrefix(true);
return manage;
}
}
import org.springframework.data.redis.cache.RedisCachePrefix;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;
/**
* Redis缓存前缀帮助类
*/
public class RedisPrefix implements RedisCachePrefix {
private final RedisSerializer serializer;
private final String delimiter;
public RedisPrefix() {
this(":");
}
public RedisPrefix(String delimiter) {
this.serializer = new StringRedisSerializer();
this.delimiter = delimiter;
}
@Override
public byte[] prefix(String cacheName) {
return this.serializer.serialize(this.delimiter != null ? this.delimiter.concat(":").concat(cacheName).concat(":") : cacheName.concat(":"));
}
}