redis集群 应该注意的问题
来源:互联网 发布:spark 运行java jar包 编辑:程序博客网 时间:2024/06/10 00:06
redis cluster注意的问题 :
‘cluster-require-full-coverage’参数的设置。该参数是redis配置文件中cluster模式的一个参数,从字面上基本就能看出它的作用:需要全部覆盖!
具体点是redis cluster需要16384个slot都正常的时候才能对外提供服务,换句话说,只要任何一个slot异常那么整个cluster不对外提供服务。
redis默认是‘yes’,即需要全覆盖!建议设置成‘no’。阻塞命令产生failover。由于一些阻塞命令(flushall, del key1 key2 …)会造成redis在‘cluster-node-timeout’时间内无法响应其他节点的ping请求,
从而导致其他节点都把该redis标记出了pfail状态,进而产生failover。redis作者计划使用lazy redis解决。连接建立。当redis cluster的节点数多了以后,client对每个节点建立一个tcp连接需要花比较多的时间。如果是长连接,用户只需忍受一次连接建立的过程,
如果是短连接,那么频繁建立连接将会极大的降低效率。但即便是短连接,只要每次请求只涉及到一个key,有些客户端可能只需要与一个节点建立连接。Jedis。Jedis是redis最流行的Java客户端,支持redis cluster。
‘MaxRedirectionsException’异常,出现该异常说明刚刚执行的那条命令经过多次重试,没有执行成功,需要用户再次执行。
在cluster扩容或者slot迁移的时候比较容易出现。建议捕获该异常并采取相应重试工作。
Pipeline,Jedis目前不支持cluster模式的pipeline,建议采用多并发代替pipeline。Multi-key。Redis cluster对多key操作有限,要求命令中所有的key都属于一个slot,才可以被执行。客户端可以对multi-key命令进行拆分,再发给redis。
另外一个局限是,在slot迁移过程中,multi-key命令特别容易报错(CROSSSLOT Keys in request don’t hash to the same slot)。建议不用multi-key命令。扩容速度慢。redis官方提供了redis cluster管理脚本redis-trib.rb。使用该脚本进行扩容cluster的时候,是串行的迁移slot中的每个key,这样导致了
扩容的速度非常慢,百G的数据要数小时。扩容时间越长,越容易出现异常。
- redis集群 应该注意的问题
- 离职应该注意的问题
- 一个应该注意的问题
- 女生应该注意的问题
- 做外链应该注意的问题
- strcpy应该注意的问题
- 嵌入式应该注意的问题
- 一些应该注意的问题
- Spring 整合redis集群 实现 以及过程中需要注意的问题点
- 服务器集群视频云的特点应该注意哪些?
- Java的编程应该注意的问题
- 使用静态数组应该注意的问题
- Java Thread应该注意的问题
- JAVA编程中应该注意的问题
- 做共享应该注意的问题
- Java Thread应该注意的问题
- Java Thread应该注意的问题
- 网络工程师应该注意的4个问题
- 什么时候ReHash,HashMap的内部实现机制,Hash是怎样实现的 - schbook
- java来合并两个对象
- Jenkins常用插件之email-ext
- java实现银行家算法
- TOMCAT启动错误:严重: Error filterStart
- redis集群 应该注意的问题
- R树空间索引
- # 微信公众号内支付(.Net版本)开发详尽流程分享
- Android开源框架ImageLoader的完美例子
- ASP.NET MVC 页面静态化操作的思路
- jersey2.22.2异常java.lang.NoSuchMethodError: org.glassfish.jersey.CommonProperties.getValue
- 【VS开发】CSplitterWnd的定制使用
- grunt搭建自动化前端环境(MAC下简单完整流程)
- iOS 开发法webview头部加个自定义view,这个view不是固定的而是要跟webview一起滚动