成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Spring-Data-Redis 解析

princekin / 748人閱讀

摘要:概述是大家庭中的一員,和生態(tài)結(jié)合的很好,它提供了低級(jí)別和高級(jí)別的抽象,使我們很方便的就可以和交互后的版本需要支持同時(shí)支持和這個(gè)沒怎么用過以后默認(rèn)實(shí)現(xiàn)是使用的話需要手動(dòng)改下引入的包使用引入包配置文件數(shù)據(jù)庫索引默認(rèn)為服務(wù)器地

概述

Spring Data Redis 是 Spring Data大家庭中的一員,和Spring 生態(tài)結(jié)合的很好,它提供了低級(jí)別(RedisTemplate ...)和高級(jí)別(ListOperations )的抽象,使我們很方便的就可以和Redis交互

2.X后的版本需要Java 8 支持

同時(shí)支持 Jedis和Lettuce(這個(gè)沒怎么用過),2.X以后默認(rèn)實(shí)現(xiàn)是Lettuce,使用Jedis的話需要手動(dòng)改下(引入Jedis的包)

使用: 引入包:

        org.springframework.boot
        spring-boot-starter-parent
        2.0.5.RELEASE
    

    
        
            org.springframework.boot
            spring-boot-starter
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
            org.springframework.data
            spring-data-redis
        

        
            redis.clients
            jedis
            2.9.0
        
    `
配置文件
# REDIS (RedisProperties)
# Redis數(shù)據(jù)庫索引(默認(rèn)為0)
spring.redis.database=5
# Redis服務(wù)器地址
spring.redis.host=127.0.0.1
# Redis服務(wù)器連接端口
spring.redis.port=6379
# Redis服務(wù)器連接密碼(默認(rèn)為空)
spring.redis.password=*****
# 連接池最大連接數(shù)(使用負(fù)值表示沒有限制)
spring.redis.pool.max-active=8
# 連接池最大阻塞等待時(shí)間(使用負(fù)值表示沒有限制)
spring.redis.pool.max-wait=-1
# 連接池中的最大空閑連接
spring.redis.pool.max-idle=8
# 連接池中的最小空閑連接
spring.redis.pool.min-idle=0
# 連接超時(shí)時(shí)間(毫秒)
spring.redis.timeout=0
Config
@Configuration
public class RedisConfig extends CachingConfigurerSupport {
    @Bean
    public RedisTemplate redisTemplate(RedisConnectionFactory factory) {
        RedisTemplate redisTemplate=new RedisTemplate();
        redisTemplate.setConnectionFactory(factory);
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setValueSerializer(new StringRedisSerializer());
        System.out.println("suscessful");
        return redisTemplate;
    }
}
測(cè)試類:
 @Autowired
    private RedisTemplate redisTemplate;

    @Resource(name="redisTemplate")
    private HashOperations hashOperations;

    @Resource(name="redisTemplate")
    private ZSetOperations zSetOperations;
    @Test
    public void test1(){
        redisTemplate.opsForValue().set("my","my");
        Assert.assertEquals("my",redisTemplate.opsForValue().get("my"));
    }
    @Test
    public void test2() {
        Map map = new HashMap<>();
        map.put("age", "13");
        map.put("name", "selrain");
        hashOperations.putAll("test2", map);

        Assert.assertEquals("13",hashOperations.get("test2","age"));

        hashOperations.delete("test2","age","name");
    }
    @Test
    public void test3(){
       zSetOperations.add("selrain","selraion",1);
       Assert.assertEquals("selraion",zSetOperations.range("selrain",0,1).iterator().next());
       zSetOperations.remove("selrain","selraion");
    }
    @Test
    public void test4(){
        redisTemplate.execute((RedisConnection connection)->{
            Jedis jedis=(Jedis)connection.getNativeConnection();
            String s=jedis.set("test4","selrain","NX","EX",6000);
            return s;
        });
    }
序列化:

數(shù)據(jù)會(huì)轉(zhuǎn)換成字節(jié)在Redis存儲(chǔ),在Spring Data中,序列化的核心包是org.springframework.data.redis.serializer,想要自定義自己的序列化,實(shí)現(xiàn)RedisSerializer即可,默認(rèn)有2種實(shí)現(xiàn)

JdkSerializationRedisSerializer:RedisTemplate默認(rèn)使用這個(gè)

StringRedisSerializer:針對(duì)String類型的序列化實(shí)現(xiàn),大部分的情況下使用這個(gè)就好了

Api: RedisTemplate:

opsForValue、opsForHash、opsForZSet方法分別獲取對(duì)String、hash、Zset數(shù)據(jù)結(jié)構(gòu)的操作實(shí)現(xiàn),一般感覺用這個(gè)就好了

HashOperations、ZSetOperations等

還可以直接注入這些抽象,這樣就不用opsForHash,可以直接用,為什么不同的類型可以直接注入?看下這篇文章:
http://www.cnblogs.com/chaned...

execute():

execute方法給我們暴露了RedisConnection,拿到鏈接后,我們可以轉(zhuǎn)換成Jedis的原始鏈接,從而可以使用data redis不支持但是jedis支持的命令:比如測(cè)試代碼test4

其他:

想不想了解Redis的配置是如何初始化的?看這篇文章:
https://my.oschina.net/u/3866...

最后

小尾巴走一波,歡迎關(guān)注我的公眾號(hào),不定期分享編程、投資、生活方面的感悟:)

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/77314.html

相關(guān)文章

  • 集成 Spring data redis 筆記

    摘要:本文有部分代碼是抄襲的。第二個(gè)坑需要指定對(duì)象的數(shù)據(jù)類型,不然反序列化報(bào)錯(cuò)。第三的編輯器非常不好用。上面的配置有個(gè)缺陷,就是只能指定數(shù)據(jù)類型去緩存到。其實(shí)還可以配置一個(gè)但我持久層是。查詢分頁結(jié)果時(shí),會(huì)無法反序列化。搜了半天沒解決方案。 本文有部分代碼是抄襲的。 1 :引入依賴 org.springframework.data spring-data-redis ${spr...

    張遷 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<