正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史记录

版本 1 当前 »

查看所有 key 的 value 值所占内存大小

redis 虽好,却是个吃内存兽,因此在写入 redis 数据时,应该避免写入无用的数据,浪费内存。

如果我们要分析哪些 key 占用了大量的存储空间,就需要有工具辅助对所有的 value 所点空间进行排序,如此才能有的放矢进行优化。redis-rdb-tools 可以将所有 key 对应的 value 大小用 csv 格式导出。安装如下:

$wget https://bootstrap.pypa.io/get-pip.py
$python get-pip.py
$ yum install python-devel -y
$ pip install rdbtools python-lzf
$ git clone https://github.com/sripathikrishnan/redis-rdb-tools
$ cd redis-rdb-tools
$ sudo python setup.py install

接下来找到 redis 的 dump.rdb 位置

路径为:/var/lib/redis/dump.rdb

按内存值导出 csv

$ rdb -c memory /var/lib/redis/dump.rdb > result.csv

导出占用内存最大的前100个

$ rdb -c memory -l 100 /var/lib/redis/dump.rdb > result.csv

分析redis key 大小

redis-cli  -h  IP地址  -p  端口  -a  密码 --bigkeys

删除指定key

redis-cli -h IP地址 -p 端口 -a 密码 keys "指定key(*代表模糊)" | xargs redis-cli -h IP地址 -p 端口 -a 密码 del

redis-cli -h IP地址 -p 端口 -a 密码 -n 指定数据库编号 keys "指定key(*代表模糊)" | xargs redis-cli -h IP地址 -p 端口 -a 密码 -n 指定数据库编号 del

redis-cli -h IP -p 端口 -a 密码 -n 0 keys "{takeout-hangfire}job*" | xargs redis-cli -h IP -p 端口 -a 密码 -n 0 del

{takeout-hangfire}  命名空间
job key开头  

检查redis集群健康情况

版本4.0之前

redis-trib.rb check ip:端口

版本5.0之后

redis-cli --cluster check ip:端口

手动故障转移

redis-cli -h ip地址 -p 端口 CLUSTER FAILOVER

创建集群

redis-cli --cluster create 192.168.111.82:6381 192.168.111.82:6382 192.168.111.81:6379 192.168.111.81:6380 192.168.111.80:6387 192.168.111.80:6388 --cluster-replicas 1

  • 无标签