Redis内存分析

一般会采用 bgsave 生成 dump.rdb 文件,再结合 redis-rdb-tools 和 sqlite 来进行静态分析。

BGSAVE:在后台异步(Asynchronously)保存当前数据库的数据到磁盘。

BGSAVE 命令执行之后立即返回  OK ,然后 Redis fork 出一个新子进程,原来的 Redis 进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,然后退出。

生成内存快照: redis-rdb-tools 是一个 python 的解析 rdb 文件的工具,在分析内存的时候,主要用它生成内存快照。 Continue reading "Redis内存分析"

alpine安装telnet

每一次需要在 alpine下面使用 telnet的时候都想当然地使用 apk add telnet,实在是忍受不了,我要写一篇博文来记录一下,正确的安装方式应当是:

😀

MongoDB基本命令

MongoDB是NoSQL数据库系统中比较流行的数据库之一。它也是最接近关系型数据库的,一个数据库可以包含多个集合(Collection),类似于关系数据库中的表;而每个集合中可以存储一组由列标识的记录,列是可以自由定义的,非常灵活,这就类似于关系数据库表中的每一条记录。下面和大家一起熟悉下MongoDB的基本管理命令。 Continue reading "MongoDB基本命令"

Send mail in CentOS7

1、配置
vim /etc/mail.rc

文件尾增加以下内容

说明:
from: 对方收到邮件时显示的发件人
smtp: 指定第三方发送邮件的smtp服务器地址
smtp-auth: SMTP的认证方式。默认是LOGIN,也可改为CRAM-MD5或PLAIN方式
smtp-auth-user: 第三方发邮件的用户名
smtp-auth-password: 用户名对应密码 Continue reading "Send mail in CentOS7"

Redis集群水平扩展(一)

Redis分布式方案一般有两种

1、客户端分区,优点是分区逻辑可控,缺点是需要客户端处理数据路由、高可用、故障转移等。

2、代理方案,优点是简化客户端逻辑和升级,缺点是加重架构复杂性和性能损耗。

Redis Cluster是官方提供的分布式解决方案,从3.0版本正式推出,和以上两种方案都不太一样,采用了虚拟槽分区,分区方式采用了hash分区,它并没有使用一致性hash(增减节点会导致部分数据无法命中,当使用少量节点时节点变化会导致影响数据映射),而是使用改进的一致性hash-虚拟槽方式分区。Redis Cluster使用了 16384 个虚拟槽,槽被分配给节点管理。

Continue reading "Redis集群水平扩展(一)"