ssm Redis 缓存首页热门数据

网站首页展示的数据不需要每次向数据库读取

开始前请引入spring redis依赖


配置文件


	
		
		
		
		
	


	
	
		
		
		
		
		
	


	
	 
		 
	
		
	
	
	
		
		
	


	
	
		
		
		
	
	

上面的RedisCacheConfig是用来缓存的,它会按照指定的序列化方式生成key,value。这里采用默认的jdk序列化,,就是想要查数据的时候不方便看,像这样

ssm Redis 缓存首页热门数据_第1张图片

缓存对象需要实现Serializable接口

ssm Redis 缓存首页热门数据_第2张图片

RedisCacheConfig

@Configuration
@EnableCaching
public class RedisCacheConfig extends CachingConfigurerSupport {

        private volatile JedisConnectionFactory mJedisConnectionFactory;
        private volatile RedisTemplate mRedisTemplate;
        private volatile RedisCacheManager mRedisCacheManager;

        public RedisCacheConfig() {
            super();
        }

        public RedisCacheConfig(JedisConnectionFactory mJedisConnectionFactory, RedisTemplate mRedisTemplate, RedisCacheManager mRedisCacheManager) {
            super();
            this.mJedisConnectionFactory = mJedisConnectionFactory;
            this.mRedisTemplate = mRedisTemplate;
            this.mRedisCacheManager = mRedisCacheManager;
        }

        public JedisConnectionFactory redisConnectionFactory() {
            return mJedisConnectionFactory;
        }

        public RedisTemplate redisTemplate(RedisConnectionFactory cf) {
            return mRedisTemplate;
        }

        public CacheManager cacheManager(RedisTemplate redisTemplate) {
            return mRedisCacheManager;
        }

        
        
        @Bean
        public KeyGenerator keyGenerator() {
            return new KeyGenerator() {
                public Object generate(Object target, Method method,
                        Object... params) {
                    //规定  本类名+方法名+参数名 为key
                    StringBuilder sb = new StringBuilder();
                    sb.append(target.getClass().getName()+"_");
                    sb.append(method.getName()+"_");
                    for (Object obj : params) {
                        sb.append(obj.toString()+",");
                    }
                    return sb.toString();
                }
            };
        }
        
}

# Redis settings  
redis.host=127.0.0.1
redis.port=6379
#redis.pass=password
redis.dbIndex=0
redis.expiration=3000
redis.maxIdle=300
redis.maxActive=600
redis.maxWait=1000
redis.testOnBorrow=true

数据存好。

ssm Redis 缓存首页热门数据_第3张图片

创建controller。

ssm Redis 缓存首页热门数据_第4张图片

service,测试是否起到缓存作用。

ssm Redis 缓存首页热门数据_第5张图片

访问。

ssm Redis 缓存首页热门数据_第6张图片

访问成功,第一次访问进入service,

ssm Redis 缓存首页热门数据_第7张图片

第二次访问,直接读取redis数据库内容

ssm Redis 缓存首页热门数据_第8张图片

你可能感兴趣的:(redis,ssm框架)