天天看點

redis-cluster與spring-data-redis內建

[size=medium]因為redis3.0才出來,spring-data-redis正式版本還沒有支援redis-cluster。大概上官網看了一下,發現隻有1.7.0.RC1才支援,同時沒有找到關于jedis與spring-data-redis內建RedisTemplate的資料,是以看了一下原碼,寫了下面關于RedisTemplate的配置。[/size]

[quote]原創:[url]http://langmnm.iteye.com/admin/blogs/2286858[/url][/quote]

[size=x-large]一、redis-cluster構造[/size]

[quote]上節:[url]http://langmnm.iteye.com/blog/2286186[/url][/quote]

[size=x-large]二、與spring-data-redis內建[/size]

[size=large]1.JedisCluster[/size]

[size=medium]以叢集方式使用連接配接池,來直接使用redis相關指令。[/size]

[size=medium]spring.xml[/size]

connect-redis.properties

[quote][url]http://xyqck163.iteye.com/blog/2211108[/url][/quote]

[size=large]2.RedisTemplate[/size]

[size=medium]以叢集方式使用連接配接池,來使用模闆進行資料操作,key與value自動序列化存儲。[/size]

[size=medium]spring.xml[/size]

[quote]spring-data-redis提供了多種serializer政策,這對使用jedis的開發者而言,實在是非常便捷。sdr提供了4種内置的serializer:

JdkSerializationRedisSerializer:使用JDK的序列化手段(serializable接口,ObjectInputStrean,ObjectOutputStream),資料以位元組流存儲

StringRedisSerializer:字元串編碼,資料以string存儲

JacksonJsonRedisSerializer:json格式存儲

OxmSerializer:xml格式存儲

其中JdkSerializationRedisSerializer和StringRedisSerializer是最基礎的序列化政策,其中“JacksonJsonRedisSerializer”與“OxmSerializer”都是基于stirng存儲,是以它們是較為“進階”的序列化(最終還是使用string解析以及建構java對象)。

RedisTemplate中需要聲明4種serializer,預設為“JdkSerializationRedisSerializer”:

1) keySerializer :對于普通K-V操作時,key采取的序列化政策

2) valueSerializer:value采取的序列化政策

3) hashKeySerializer: 在hash資料結構中,hash-key的序列化政策

4) hashValueSerializer:hash-value的序列化政策

無論如何,建議key/hashKey采用StringRedisSerializer。

[url]http://www.360doc.com/content/15/0513/21/1073512_470277654.shtml[/url]

[/quote]

[size=medium]3. 測試代碼[/size]

控制台輸出:

繼續閱讀