欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

SpringBoot中怎么配置單點Redis緩存

今天就跟大家聊聊有關SpringBoot中怎么配置單點redis緩存,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

創(chuàng)新互聯(lián)是一家朝氣蓬勃的網(wǎng)站建設公司。公司專注于為企業(yè)提供信息化建設解決方案。從事網(wǎng)站開發(fā),網(wǎng)站制作,網(wǎng)站設計,網(wǎng)站模板,微信公眾號開發(fā),軟件開發(fā),小程序制作,十多年建站對成都廣告設計等多個領域,擁有豐富的網(wǎng)站建設經(jīng)驗。

import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.CachingConfigurerSupport;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cache.interceptor.KeyGenerator;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;

import java.lang.reflect.Method;

/**
 * redis 緩存配置;
 * <p>
 * 注意:RedisCacheConfig這里也可以不用繼承:CachingConfigurerSupport,也就是直接一個普通的Class就好了;
 * <p>
 * 這里主要我們之后要重新實現(xiàn) key的生成策略,只要這里修改KeyGenerator,其它位置不用修改就生效了。
 * <p>
 * 普通使用普通類的方式的話,那么在使用@Cacheable的時候還需要指定KeyGenerator的名稱;這樣編碼的時候比較麻煩。
 *
 * @create 2017-12-13 12:45
 **/
@Configuration
@EnableCaching//啟用緩存,這個注解很重要;
public class RedisCacheConfig extends CachingConfigurerSupport {


    /**
     * 緩存管理器.
     *
     * @param redisTemplate
     * @return
     */
    @Bean
    public CacheManager cacheManager(RedisTemplate<?, ?> redisTemplate) {
        RedisCacheManager cacheManager = new RedisCacheManager(redisTemplate);
        //設置緩存過期時間
        cacheManager.setDefaultExpiration(10000);
        return cacheManager;
    }


    /**
     * redis模板操作類,類似于jdbcTemplate的一個類;
     * <p>
     * 雖然CacheManager也能獲取到Cache對象,但是操作起來沒有那么靈活;
     * <p>
     * 這里在擴展下:RedisTemplate這個類不見得很好操作,我們可以在進行擴展一個我們
     * <p>
     * 自己的緩存類,比如:RedisStorage類;
     *
     * @param factory : 通過Spring進行注入,參數(shù)在application.properties進行配置;
     * @return
     */
    @Bean
    public RedisTemplate redisTemplate(RedisConnectionFactory factory) {
        StringRedisTemplate template = new StringRedisTemplate(factory);
        setSerializer(template);//設置序列化工具
        template.afterPropertiesSet();
        return template;
    }

    private void setSerializer(StringRedisTemplate template) {
        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
        ObjectMapper om = new ObjectMapper();
        om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
        om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
        jackson2JsonRedisSerializer.setObjectMapper(om);
        template.setValueSerializer(jackson2JsonRedisSerializer);
    }

    /**
     * 自定義key.
     * 此方法將會根據(jù)類名+方法名+所有參數(shù)的值生成唯一的一個key,即使@Cacheable中的value屬性一樣,key也會不一樣。
     */
    @Override
    public KeyGenerator keyGenerator() {
        return new KeyGenerator() {
            @Override
            public Object generate(Object o, Method method, Object... objects) {
                StringBuilder sb = new StringBuilder();
                sb.append(o.getClass().getName());
                sb.append(method.getName());
                for (Object obj : objects) {
                    sb.append(obj.toString());
                }
                return sb.toString();
            }
        };
    }

}
########################################################
###REDIS (RedisProperties) redis基本配置;
########################################################
# database name
spring.redis.database=0
# server host1
spring.redis.host=127.0.0.1
# server password
#spring.redis.password=
#connection port
spring.redis.port=6379
# pool settings ...
spring.redis.pool.max-idle=8
spring.redis.pool.min-idle=0
spring.redis.pool.max-active=8
spring.redis.pool.max-wait=-1
# name of Redis server
#spring.redis.sentinel.master=
# comma-separated list of host:port pairs
#spring.redis.sentinel.nodes=

看完上述內(nèi)容,你們對SpringBoot中怎么配置單點Redis緩存有進一步的了解嗎?如果還想了解更多知識或者相關內(nèi)容,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。

網(wǎng)站標題:SpringBoot中怎么配置單點Redis緩存
文章起源:http://aaarwkj.com/article20/iijico.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站改版、全網(wǎng)營銷推廣、小程序開發(fā)網(wǎng)站維護、域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
日本一区二区手机在线| 亚洲最大午夜福利视频| 欧美精品高清在线视频| 亚洲av毛片免费在线| 中出亚洲精品日韩在线视频| 国产精品国产三级国av中文| 91免费在线观看高清| 欧美一区二区三区十区| 日本在线人妻中文字幕| 国产经典午夜福利在线| 永久免费成人在线视频| 亚洲av免费一区二区三区| 日本精品av一区二区| 日日激情综合久久一区| 91精品国产自产在线蜜臀| 国产av自拍在线免费观看| 亚洲欧美日韩在线观看a三区| 18末年禁止观看免费软件| 一本之道高清久久久首页| 国产日韩精品一区二区在线| 久国产亚洲精品久久久极品| 欧美国产精品一区二区免费| 91色综合久久久久婷婷| 久久日韩一区二区三区| 蜜臀在线观看免费视频| 日本午夜熟女九色视频| 森泽佳奈在线视频观看| 国产精品一区二区三区乱色| 亚洲精品入口一区二区| 亚洲一区欧美二区日韩三区| 亚洲日本高清一二三区| 午夜免费成人在线视频| 亚洲av男人的天堂看| 韩国一级av免费在线| 国产精品亚洲精品日韩在线| 亚洲国产日韩欧美在线| 人人妻人人澡人人爽精品日本| 天天操天天干夜夜骑| 亚洲国产精品一区二区成人| 日韩亚洲一区在线观看| 日韩精品一区伦理视频|