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

SpringBoot怎么整合Redis

1.首先導(dǎo)入使用Maven導(dǎo)入jar包

 

創(chuàng)新互聯(lián)成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都做網(wǎng)站、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元元江縣做網(wǎng)站,已為上家服務(wù),為元江縣各地企業(yè)和個人服務(wù),聯(lián)系電話:18980820575

<dependency>    
    <groupId>org.springframework.boot</groupId>    
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.62</version>
</dependency>

 

2.在application.properties配置信息

 

# Redis數(shù)據(jù)庫索引(默認為0)  
spring.redis.database=0  
# Redis服務(wù)器地址  
spring.redis.host=localhost
# Redis服務(wù)器連接端口  
spring.redis.port=6379  
# Redis服務(wù)器連接密碼(默認為空)  
spring.redis.password=123456
# 連接池最大連接數(shù)(使用負值表示沒有限制)  
spring.redis.pool.max-active=200  
# 連接池最大阻塞等待時間(使用負值表示沒有限制)  
spring.redis.pool.max-wait=-1  
# 連接池中的最大空閑連接  
spring.redis.pool.max-idle=10 
# 連接池中的最小空閑連接  
spring.redis.pool.min-idle=0  
# 連接超時時間(毫秒)  
spring.redis.timeout=1000ms

 

3.編寫Redis工具類

 

@Configuration
@ConditionalOnClass(RedisOperations.class)      //系統(tǒng)中有RedisOperations類時
@EnableConfigurationProperties(RedisProperties.class)  //啟動RedisProperties這個類
@EnableCaching

// www.1b23.com
public class RedisConfig extends CachingConfigurerSupport {
    @Autowired
    RedisTemplate redisTemplate;
    // 配置緩存管理器
    @Bean
    public RedisCacheManager cacheManager(RedisConnectionFactory connectionFactory) {
        LettuceConnectionFactory jedisConnectionFactory = (LettuceConnectionFactory) redisTemplate.getConnectionFactory();
        jedisConnectionFactory.setDatabase(2);      //指定dbindex
        redisTemplate.setConnectionFactory(jedisConnectionFactory);
        jedisConnectionFactory.resetConnection();

        RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig()
                .entryTtl(Duration.ofSeconds(60*20)) // 20分鐘緩存失效
                // 設(shè)置key的序列化方式
//                .entryTtl(Duration.ofSeconds(10))
                .serializeKeysWith(RedisSerializationContext.SerializationPair.fromSerializer(new StringRedisSerializer()))
                // 設(shè)置value的序列化方式
                .serializeValuesWith(RedisSerializationContext.SerializationPair.fromSerializer(new FastJsonRedisSerializer(Object.class)))
                // 不緩存null值
                .disableCachingNullValues();
        RedisCacheManager redisCacheManager = RedisCacheManager.builder(connectionFactory)
                .cacheDefaults(config)
                .transactionAware()
                .build();
        return redisCacheManager;
    }
}

 

package com.FireService.config;

import java.nio.charset.Charset;

import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.data.redis.serializer.SerializationException;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.parser.ParserConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;

public class FastJsonRedisSerializer<T> implements RedisSerializer<T> {

    public static final Charset DEFAULT_CHARSET = Charset.forName("UTF-8");

    private Class<T> clazz;
    static {
        ParserConfig.getGlobalInstance().addAccept("com.FireService");
    }
    public FastJsonRedisSerializer(Class<T> clazz) {
        super();
        this.clazz = clazz;
    }

    @Override
    public byte[] serialize(T t) throws SerializationException {
        if (null == t) {
            return new byte[0];
        }
        return JSON.toJSONString(t, SerializerFeature.WriteClassName).getBytes(DEFAULT_CHARSET);
    }

    @Override
    public T deserialize(byte[] bytes) throws SerializationException {
        if (null == bytes || bytes.length <= 0) {
            return null;
        }
        String str = new String(bytes, DEFAULT_CHARSET);
        return (T) JSON.parseObject(str, clazz);
    }

}

 

4.SpringBoot有關(guān)緩存的幾個注解

@Cacheable:查詢

可選屬性:

cacheNames/value:指定緩存組件的名字;

key:緩存數(shù)據(jù)使用的key,可以用來指定。默認即使用方法參數(shù)的值

keyGenerator:key的生成器,可以自己指定key的生成器的組件id

//自定義配置類配置keyGenerator
@Configuration
public class MyCacheConfig {
    @Bean("myKeyGenerator")
    public KeyGenerator keyGenerator(){
        return new KeyGenerator() {
            @Override
            public Object generate(Object target, Method method, Object... params) {
                return method.getName()+"["+ Arrays.asList(params).toString() +"]";
            }
        };
    }
}

cacheManager:指定緩存管理器;或者cacheResolver獲取指定解析器

condition:指定符合條件的情況下才緩存;如condition="#id>0"

unless:否定緩存,當unless指定的條件為true,方法的返回值不會被緩存,可以獲取到結(jié)果進行判斷;如unless="#result==null";

sync:是否使用異步模式

例如:

@Cacheable(value = "RedisInfo", key = "#root.methodName+'['+#account+']'")
@ResponseBody
@RequestMapping("/RedisTest")
public Result findUserOrder(String account) throws Exception{
    if(account!=null) {
        List<Map<String, Object>> list=orderFindGoods.findUserOrder(account);
        return Results.successWithData(list, BaseEnums.SUCCESS.code(), BaseEnums.SUCCESS.desc());
    }else {
        return Results.failure();
    }
}

名稱欄目:SpringBoot怎么整合Redis
文章來源:http://aaarwkj.com/article44/pcodhe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司動態(tài)網(wǎng)站、網(wǎng)站制作營銷型網(wǎng)站建設(shè)、建站公司域名注冊

廣告

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

外貿(mào)網(wǎng)站建設(shè)
正在播放日韩黄色精品| 欧美亚洲av一区二区三区| 九九热精品视频美谷朱里| av剧情在线观看免费| 亚洲淫婷婷久久一区二区| 青青草成人公开在线视频| 五月婷婷综合中文字幕在线| 欧美激情中文字幕日韩精品| 亚洲欧洲美洲中文天堂| 综合久久—本道中文字幕| 国产精品一区二区啪啪| 麻豆国产av巨做国产剧情| 东京热一精品无码av| 丰满少妇一区二区三区在线观看 | 国产一级av在线播放| 亚洲欧美日韩一区中文天国| 欧美黄片在线免费观看视频| 中文字幕日本人妻乱码| 一个人看的视频天堂色| 日韩二区三区在线视频| 亚洲av乱码久久精品蜜桃| 婷婷丁香久久五月婷婷| 黄色欧美在线观看免费| 日本成人午夜电影网站| 成人精品淫片一级免费| 伊人99热这里只有精品| 亚洲国产精品一区二区三区| 国产69精品久久一级| 久久精品人妻一区二区| 日本不卡一区二区在线播放| 98精品熟女亚洲av| 国产传媒在线免费播放视频| 久久久久精品激情三级| 亚洲成综合人在线播放| 大秀视频一区二区三区| 亚洲天堂日韩欧美在线一区| 日本精品三级一区二区视频| 国产综合中文字幕不卡| 最新欧美精品一区二区| 亚洲一本一道久久香蕉| 少妇高潮在线观看免费|