您好,登錄后才能下訂單哦!
這篇文章給大家介紹Spring Data Redis的示例分析,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
Spring-Data-Redis是Spring大家族的一部分,提供了在Spring應(yīng)用中通過簡(jiǎn)單的配置訪問Redis服務(wù),對(duì)Redis底層開發(fā)包(Jedis、JRedis、Redisson)進(jìn)行了高度封裝,RedisTemplate提供了Redis各種操作、異常處理及序列化,支持發(fā)布訂閱。 Spring-Data-Redis針對(duì)jedis提供了如下功能:
連接池自動(dòng)管理,提供了一個(gè)高度封裝的“RedisTemplate”類
針對(duì)jedis客戶端中大量api進(jìn)行了歸類封裝,將同一類型操作封裝為operation接口如下:
ValueOperations:簡(jiǎn)單K-V操作
SetOperations: set類型數(shù)據(jù)操作
ZSetOperations: zset類型數(shù)據(jù)操作
HashOperations: hash類型的數(shù)據(jù)操作
ListOperations: list類型的數(shù)據(jù)操作
Redis可以存儲(chǔ)鍵與5種不同數(shù)據(jù)結(jié)構(gòu)類型之間的映射,這5種數(shù)據(jù)結(jié)構(gòu)類型分別為String(字符串)、List(列表)、Set(集合)、Hash(散列)和 Zset(有序集合)。
Spring封裝了RedisTemplate對(duì)象來進(jìn)行對(duì)Redis的各種操作,它支持所有的Redis原生的api。RedisTemplate位于spring-data-redis包下。
RedisTemplate在Spring代碼中的結(jié)構(gòu)如下:
org.springframework.data.redis.core Class RedisTemplate<K,V> java.lang.Object org.springframework.data.redis.core.RedisAccessor org.springframework.data.redis.core.RedisTemplate<K,V>
Type Parameters:
K
模板中的Redis key的類型(通常為String)如:RedisTemplate<String, Object> 注意:如果沒特殊情況,切勿定義成RedisTemplate<Object, Object>,否則根據(jù)里氏替換原則,使用的時(shí)候會(huì)造成類型錯(cuò)誤 。
V
模板中的Redis value的類型
StringRedisTemplate與RedisTemplate
兩者的關(guān)系是StringRedisTemplate繼承RedisTemplate。
兩者的數(shù)據(jù)是不共通的;也就是說StringRedisTemplate只能管理StringRedisTemplate里面的數(shù)據(jù),RedisTemplate只能管理RedisTemplate中的數(shù)據(jù)。
SDR默認(rèn)采用的序列化策略有兩種,一種是String的序列化策略,一種是JDK的序列化策略。 StringRedisTemplate默認(rèn)采用的是String的序列化策略,保存的key和value都是采用此策略序列化保存的。 RedisTemplate默認(rèn)采用的是JDK的序列化策略,保存的key和value都是采用此策略序列化保存的。
關(guān)于Spring Data Redis的示例分析就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。