Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8139128
  • 博文数量: 594
  • 博客积分: 13065
  • 博客等级: 上将
  • 技术积分: 10324
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-26 16:44
个人简介

推荐: blog.csdn.net/aquester https://github.com/eyjian https://www.cnblogs.com/aquester http://blog.chinaunix.net/uid/20682147.html

文章分类

全部博文(594)

发布时间:2018-09-09 09:47:59

调整以下参数,可以大幅度改善Redis集群的稳定性:为何大压力下要这样调整?最重要的原因之一Redis的主从复制,两者复制共享同一线程,虽然是异步复制的,但因为是单线程,所以也十分有限。如果主从间的网络延迟不是在0.05左右,比如达到0.6,甚至1.2等,那么情况是非常糟糕的,因此同一Redis集群一定要部署在同一.........【阅读全文】

阅读(2813) | 评论(0) | 转发(0)

发布时间:2018-09-02 22:46:00

指定集群中任意一个节点,查看集群中所有节点当前已用物理内存、配置的最大物理内存和系统物理内存。源码(可从下载):#!/bin/bash# Query the memory of all nodes in a cluster## Output example:# $ ./query_redis_cluster.sh 192.168.0.31.21:6379# [1.........【阅读全文】

阅读(2391) | 评论(0) | 转发(0)

发布时间:2018-09-02 22:04:22

使用之前准备工作:1)配置好与端口无关的公共redis.conf文件,和工具放在同一目录下2)配置好与端口相关的模板redis-PORT.conf文件,也和工具放在同一目录下(部署时PORT会被替换成具体的端口号)3)配置好组成集群的节点文件redis_cluster.nodes,也和工具放在同一目录下redis_cluster.nodes的文件格式为每行一个组成.........【阅读全文】

阅读(2307) | 评论(0) | 转发(0)

发布时间:2018-09-02 21:54:31

工具的作用:1)比“cluster nodes”更为直观的显示结果2)指出落在同一个IP上的master3)指出落在同一个IP上的master和slave对运行效果图:源代码(可从https://github.com/eyjian/redis-tools下载):点击(此处)折叠或打开#!/bin/bash# 源码位置:h.........【阅读全文】

阅读(2687) | 评论(0) | 转发(0)

发布时间:2018-05-09 14:46:42

在一台物理机上启动6个Redis实例,组成3主3从集群,端口号依次为:1379 ~ 1384,端口号1379、1380和1384三个为master,端口1379的进程ID为17620。现将进程17620暂停(发送SIGSTOP信号),观察集群发现故障时长,和主从切换时长。# 暂停进程17620(端口1379),然后每秒查看一次集群状态$ kill -19 17620;for ((i=0;i.........【阅读全文】

阅读(3127) | 评论(0) | 转发(0)

发布时间:2018-03-29 20:07:33

结论:待确认是否为redis的BUG,原因是进程实际占用的内存远小于配置的最大内存,所以不会是内存不够需要淘汰。CPU百分百redis-server进程集群状态:slave解决办法:使用gdb将d.ht[0].used的值改为0问题原因:dictGetRandomKey()过程中,无法走到分支“if (dictSize(d) == 0) return NULL;”,导致函数dbRandom.........【阅读全文】

阅读(15598) | 评论(1) | 转发(0)

发布时间:2017-08-29 09:59:18

版本:redis-3.2.9部署:5台64G内存的物理机,每台机器启动2个redis进程组成5主5备集群,每台机器1个主1个备,并且错开互备。问题:发现redis进程占用内存高达40G,而且全是备进程。尝试通过重启进程方式释放内存,但进入复制死循环,报如下所示错误:for lack of backlog (Slave request was: 51875158284)通.........【阅读全文】

阅读(2649) | 评论(0) | 转发(0)

发布时间:2017-08-29 09:58:50

版本:redis-3.2.9部署:5台64G内存的物理机,每台机器启动2个redis进程组成5主5备集群,每台机器1个主1个备,并且错开互备。问题:发现redis进程占用内存高达40G,而且全是备进程。尝试通过重启进程方式释放内存,但进入复制死循环,报如下所示错误:for lack of backlog (Slave request was: 51875158284)通.........【阅读全文】

阅读(2701) | 评论(0) | 转发(0)

发布时间:2016-09-08 00:06:53

基于IP频率限制是种常见需求,基于Redis可以十分简单实现对IP的频率限制,具体手段为利用Redis的key过期和原子加减两个特性。以IP作为key,频率为key过期时长,比如限制单个IP在2秒内频率为100,则key过期时长为2秒,基于r3c(a Redis Cluster C++ Client)的实现大致如下:// 增加访问次数int increse_access(const st.........【阅读全文】

阅读(14651) | 评论(2) | 转发(1)

发布时间:2016-06-08 17:55:19

如果同时配置写AOF和RDB两种文件,但在redis启动时,只会加载AOF,除非配置只写RDB,才会加载RDB文件,也因此AOF文件必须是全量数据,所以会越来越大,这缺点也将是redis优化的一个方向,即AOF只保存相对于RDB的增量,这样AOF文件将大大减小。相关源码如下所示:int main(int argc, char **argv) {&n.........【阅读全文】

阅读(3321) | 评论(0) | 转发(0)
给主人留下些什么吧!~~

Aquester2014-12-11 21:29

lojunren:强烈希望博主将mooon项目迁往github

https://github.com/eyjian/mooon

回复  |  举报

Aquester2014-03-24 12:51

lojunren:强烈希望博主将mooon项目迁往github

嗯,建议不错

回复  |  举报

lojunren2014-03-20 14:56

强烈希望博主将mooon项目迁往github

回复  |  举报

Aquester2014-01-15 11:02

yuanxy2013:LZ,你的基于C++的纯面向对象的通用高性能大并发TCP-SERVER/CLIENT开发框架实践系列之《前言篇》,《基础篇》写得非常棒,但是《服务器篇》、《客户端篇》却找不到,恳请楼主赐读。

已经实现一个server框架,并有相关技术文档,在mooon中,你可以svn下载代码看看,文档在doc子目录下

回复  |  举报

yuanxy20132014-01-14 14:48

LZ,你的基于C++的纯面向对象的通用高性能大并发TCP-SERVER/CLIENT开发框架实践系列之《前言篇》,《基础篇》写得非常棒,但是《服务器篇》、《客户端篇》却找不到,恳请楼主赐读。

回复  |  举报
留言热议
请登录后留言。

登录 注册