Redis数据迁移 & 数据审计
作者:互联网
目录
一、redis数据迁移(单节点扩展为集群)
0.前提
# 此操作针对生产中已存在数据,但是只是单节点环境,需要对redis扩展为集群,但是数据是直接存储为rdb文件,并没有集群的槽位的概念,所以需要借助工具实现。
· 可在集群已构建好的环境中实现,直接将单节点加入到集群中来
1.安装迁移工具
#1.安装依赖
[root@db02 ~]# yum install -y automake libtool autoconf bzip2
#2.拉取工具
[root@db02 ~]# git clone https://github.com/vipshop/redis-migrate-tool
#或者上传包
#3.安装
[root@db02 ~]# cd redis-migrate-tool/
[root@db02 redis-migrate-tool]# autoreconf -fvi
[root@db02 redis-migrate-tool]# ./configure
[root@db02 redis-migrate-tool]# make
2.编写数据迁移脚本
[root@db02 redis-migrate-tool]# vim tocluster.sh
[source]
type: single
servers:
- 172.16.1.52:6381 # 单节点ip和端口
[target]
type: redis cluster
servers:
- 172.16.1.51:6379 # 集群的任意服务器ip和端口,主哦记得是。
[common]
listen: 0.0.0.0:8888 # 这里不用定义,按照这里默认即可
3.单节点生成数据
# 模拟单节点中存在的数据
[root@db03 ~]# vim data.sh
#!/bin/bash
for i in {1001..2000};do
redis-cli -c -p 6381 -h 172.16.1.52 set k${i} v${i}
done
[root@db03 ~]# sh data.sh
# 执行完后可以去redis中bgsave一下,生成rdb文件
4.迁移数据
# 使用此操作为关键,可将单节点中数据均匀分片到集群中,在生产中,如web端已经连接了此redis,可稍等数据分片完成后,
将地址修改为新集群redis地址。这里数据一直在迁移,就算有新的数据写入,也会帮助数据继续分片至集群中。
[root@db02 redis-migrate-tool]# src/redis-migrate-tool -c tocluster.sh &
二、数据审计
0.前提
数据审计一般为数据清理,如有些键值对占用空间较大,使用
1.安装工具
#1.安装依赖
[root@db02 ~]# yum install -y python-pip python-devel
#2.安装工具(指定阿里源方式去安装 )
[root@db01 ~]# pip install rdbtools python-lzf -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
#3.下载或上传
[root@db02 ~]# git clone https://github.com/sripathikrishnan/redis-rdb-tools
#或者上传
[root@db02 ~]# tar xf redis-rdb-tools.tar.gz
#4.安装
[root@db02 ~]# cd redis-rdb-tools
[root@db02 redis-rdb-tools]# python setup.py install
2.确认生成rdb文件
[root@db02 6381]# redis-cli -p 6381
127.0.0.1:6381> bgsave
Background saving started
127.0.0.1:6381> quit
[root@db02 6381]# ll
total 44
-rw-r--r-- 1 root root 26206 Aug 7 15:18 dump.rdb
3.使用工具分析文件
#使用工具生成CSV表格,下载下来进行分析,可对键值对的字节数,占用长度进行分析
[root@db02 6381]# rdb -c memory ./dump.rdb -f memory.csv
标签:Redis,redis,6381,rdb,db02,root,迁移,数据 来源: https://www.cnblogs.com/tcy1/p/13454935.html