分享

初识缓存分片框架Redic

 xujin3 2018-06-17

一个简单易用的Redis缓存客户端,与Spring无缝结合,简单导入Spring环境或者配置Redic Bean即可使用,并且支持读写分离和分片。


Redic是什么?

Redic是一个简单易用的Redis缓存客户端,与Spring无缝结合,简单导入Spring环境或者配置Redic Bean即可使用,并且支持读写分离和分片。

什么时候需要Redic?

Jedis实现的ShardedJedisPool是基于一致性hash实现的,当某个节点出现问题时,缓存操作会自动漂移到这个节点后面的节点,这些操作都不是透明的,如果线上出现了问题,定位问题比较困难,Redic采用简单的哈希取模来路由分片数据,实现简单、性能高并且容易定位问题。因此,当你需要一个简单有效的缓存分片框架的时候,用Redic没错的。

如何使用Redic?

1. 配置

单节点开发配置、多节点线上配置、多节点读写分离线上配置参考如下。

1). 单节点开发配置

  • 导入开发测试使用的Spring环境。

    <import resource='classpath:spring/application-context-redic-dev.xml'/>
  • 配置单节点属性

    redic.cache.node.conn1=localhost:6379

2). 多节点线上配置

  • 在Spring环境中配置多节点的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>
  • 配置单节点属性

    redic.cache.node.conn1=localhost:6379redic.cache.node.conn2=ip:6379

3). 多节点读写分离线上配置

  • 在Spring环境中配置多节点的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>
  • 配置单节点属性

    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'));


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多