redis存儲數據優化

因爲redis儲存數據默認使用的時jdkjson,有兩大問題:

    No1:存儲的Object(Entity)需要實現序列化接口(implements Serializable);

    No2:存儲的數據中有一些其他編碼,導致可讀性差;

所以爲了解決以上的兩個問題:

    將默認的jdkjson改爲jsckson2json。代碼如下:
package mall.config;

import client.AccessToken;
import client.RedisAccessTokenCache;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;

@Configuration
public class redisConfig {

    @Autowired
    private RedisTemplate<String, AccessToken> redisTemplate;

    @Bean
    public RedisTemplate<String, AccessToken> redisTemplate(RedisConnectionFactory cf) {
        RedisTemplate<String, AccessToken> redisTemplate = new RedisTemplate<String, AccessToken>();
        redisTemplate.setConnectionFactory(cf);
        GenericJackson2JsonRedisSerializer jackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer();
        redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
        return redisTemplate;
    }

    @Bean
    public RedisAccessTokenCache redisAccessTokenCache(){
        RedisAccessTokenCache redisAccessTokenCache = new RedisAccessTokenCache();
        redisAccessTokenCache.setRedisTemplate(redisTemplate);
        return redisAccessTokenCache;
    }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章