一個簡單易用的Redis緩存客戶端,與Spring無縫結(jié)合,簡單導入Spring環(huán)境或者配置Redic Bean即可使用,并且支持讀寫分離和分片。
Redic是什么?Redic是一個簡單易用的Redis緩存客戶端,與Spring無縫結(jié)合,簡單導入Spring環(huán)境或者配置Redic Bean即可使用,并且支持讀寫分離和分片。 什么時候需要Redic?Jedis實現(xiàn)的ShardedJedisPool是基于一致性hash實現(xiàn)的,當某個節(jié)點出現(xiàn)問題時,緩存操作會自動漂移到這個節(jié)點后面的節(jié)點,這些操作都不是透明的,如果線上出現(xiàn)了問題,定位問題比較困難,Redic采用簡單的哈希取模來路由分片數(shù)據(jù),實現(xiàn)簡單、性能高并且容易定位問題。因此,當你需要一個簡單有效的緩存分片框架的時候,用Redic沒錯的。 如何使用Redic?1. 配置單節(jié)點開發(fā)配置、多節(jié)點線上配置、多節(jié)點讀寫分離線上配置參考如下。 1). 單節(jié)點開發(fā)配置導入開發(fā)測試使用的Spring環(huán)境。 <import resource='classpath:spring/application-context-redic-dev.xml'/> 配置單節(jié)點屬性 redic.cache.node.conn1=localhost:6379
2). 多節(jié)點線上配置在Spring環(huán)境中配置多節(jié)點的Redic Bean。 <bean id='redic' class='com.robert.redis.redic.Redic' init-method='init'> <property name='nodeConnStrs'> <list> <value>${redic.cache.node.conn1}value> <value>${redic.cache.node.conn2}value> list> property>bean> 配置單節(jié)點屬性 redic.cache.node.conn1=localhost:6379redic.cache.node.conn2=ip:6379
3). 多節(jié)點讀寫分離線上配置在Spring環(huán)境中配置多節(jié)點的Redic Bean。 <bean id='redic' class='com.robert.redis.redic.Redic' init-method='init'> <property name='readWriteSeparate' value=${redic.cache.readWriteSeparate}> <property name='nodeConnStrs'> <list> <value>${redic.cache.node.conn1}value> <value>${redic.cache.node.conn2}value> list> property>bean> 配置單節(jié)點屬性 redic.cache.readWriteSeparate=trueredic.cache.node.conn1=localhost:6379,localhost:6380redic.cache.node.conn2=ip:6379,ip:6380
2. 使用Redic redic = (Redic) applicationContext.getBean('redic'); redic.set('name', 'robert');AssertJUnit.assertEquals('robert', redic.get('name'));
|