初识缓存分片框架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 条评论
登录 后参与评论

相关文章

来自专栏运维咖啡吧

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

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

1342
来自专栏debugeeker的专栏

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

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

561
来自专栏算法修养

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

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

4928
来自专栏猿天地

Spring Cloud Eureka 增加权限认证

上篇文章我们简单的介绍了下注册中心Eureka,文章地址:http://cxytiandi.com/blog/detail/11988 Eureka自带了一个w...

3728
来自专栏木子昭的博客

Ubuntu运行GitHub获取的Django项目准备工作从GitHub克隆项目安装数据库(要设置密码)搭建python环境修改项目配置文件将测试数据库导入到本地新建的数据库中运行项目

经常在github看到一些优秀的Django项目,但Django的运行需要大量的依赖,这里分享一下,从github获取Django项目,并在本地运行项目的小经...

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

CentOS7安装OracleJDK和JRE

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

1283
来自专栏zingpLiu

Pipenv——最好用的python虚拟环境和包管理工具

pipenv 是Kenneth Reitz大神的作品,能够有效管理Python多个环境,各种包。过去我们一般用virtualenv搭建虚拟环境,管理python...

7656
来自专栏破晓之歌

jupyter、pyenv、virtualenv、virtualenvwrapper简要区别

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

764
来自专栏编程微刊

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

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

803
来自专栏bboysoul

如何去高大上的下载电影天堂的内容

找过电影资源的人肯定都知道电影天堂这个网站,只要复制上面的链接就可以下载对应的电影。但是一个一个链接点,太麻烦了,如何去批量做,这个时候就要用到爬虫了

842

扫码关注云+社区