初识缓存分片框架Redic

点击Redic进入我们的项目主页,获得更多信息和内容。

缓存分片

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:6379 redic.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=true redic.cache.node.conn1=localhost:6379,localhost:6380 redic.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 条评论
登录 后参与评论

相关文章

来自专栏软件工程师成长笔记

CentOS7安装OracleJDK和JRE

JDK(Java Development Kit)指的是Java开发工具集。JDK是整个Java的核心,包括了Java基础类库、Java运行环境(JRE)和Ja...

1993
来自专栏破晓之歌

jupyter、pyenv、virtualenv、virtualenvwrapper简要区别

在创建一个新的python版本时,完全拷贝一个现成的python环境。新的python版本,可作为global

934
来自专栏编程微刊

html替换成jsp界面字体图标不显示问题

今天写个简单的bug问题,这个问题一开始困扰我很久,后来后台来轻松的解决了这个问题,方法简单粗暴。

993
来自专栏小怪聊职场

Jenkins+Git+Maven+Tomcat8配置web自动构建环境(拉代码、编译、打包、部署)

2024
来自专栏debugeeker的专栏

基于现有的Linux LiveCD加入自己的内核和ramfs

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/detai...

641
来自专栏北京马哥教育

一图掌握bash shell编程

? 一张图掌握bash shell编程, 总结自 The Linux Command Line Ch25~Ch37. PDF版本下载请查看: 链接: http...

3128
来自专栏算法修养

Flask 学习篇一: 搭建Python虚拟环境,安装flask,并设计RESTful API。

前些日子,老师给我看了这本书,于是便开始了Flask的学习 ? GitHub上的大神,于是我也在GitHub上建了一个Flask的项目。 有兴趣可以看看: ht...

5468
来自专栏运维咖啡吧

LDAP落地实战(三):GitLab集成OpenLDAP认证

当重启完成后登陆报:Could not authenticate you from Ldapmain because "Invalid credentials"...

2062
来自专栏光变

Spring MVC配置响应静态文件请求

在web项目中,如果使用了页面,就会涉及到css/js等组件。下面讲解了如何在SpringMVC项目中,相应css、js、img文件,并启用浏览器缓存等机制。

923
来自专栏lgp20151222

Weblogic Exception in AppMerge flows' progression

原因:经过分析是web.xml配置的问题,有些servlet上面配置了'display-name',这个weblogic是不支持的。 解决:在web.xml中...

1932

扫码关注云+社区