【redis】redis数据迁移和数据审计学习

embedded/2024/11/15 5:41:41/

  本站以分享各种运维经验和运维所需要的技能为主

《python零基础入门》:python零基础入门学习

《python运维脚本》: python运维脚本实践

《shell》:shell学习

《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战

《k8》从问题中去学习k8s

《docker学习》暂未更新

《ceph学习》ceph日常问题解决分享

《日志收集》ELK+各种中间件

《运维日常》运维日常

《linux》运维面试100问

《DBA》db的介绍使用(mysql、redis、mongodb...)

一、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};doredis-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

 


http://www.ppmy.cn/embedded/94863.html

相关文章

算法题详解

关键字标识&#xff1a; 问题描述 你有一个关键词列表和一个字符串。你需要在字符串中用 HTML 标签 <b></b> 标记出所有出现的关键词&#xff0c;并且将所有相邻或交叠的标签合并成一个标签。例如&#xff1a; 如果字符串中有 "opqr" 和 "cd&quo…

spring注册DispatcherServlet的过程

先看下servlet注入到tomcat服务器的过程&#xff0c; DispatcherServletAutoConfiguration$DispatcherServletConfiguration类中声明了Bean方法&#xff0c;会创建DispatcherServlet类型的Bean&#xff0c;然后作为dispatcherServletRegistration方法的参数注入到DispatcherSer…

react-antive 項目報錯 [CXX1429] error when building with cmake using

react-antive 項目報錯 [CXX1429] error when building with cmake using修复 错误现场分析原因解决方案举一反三技巧引用参考&#xff08;感谢作者提供思路&#xff09; 错误现场 [CXX1429] error when building with cmake using /Users/sebastiangarcia/Desktop/work/flm/…

算法板子:容斥原理——求出 1∼n 中能被质数 p1,p2,…,pm 中的至少一个数整除的整数有多少个

1. 题目要点 1. 设&#xff1a;求1~10中能被质数2和3中至少一个数整除的数有多少个。1~10中能被质数2整除的数的集合记为S1{2,4,6,8,10}&#xff0c;能被质数3整除的数的集合记为S2{3,6,9}&#xff0c;能同时被质数2和3整数的数的集合为S1∩S2{6} 2. 这道题的目的是求S1∪S2∪S…

Python 报错:ModuleNotFoundError: No module named ‘Crypto‘

Crypto报错解决方案 Python 报错&#xff1a;ModuleNotFoundError: No module named Crypto前言问题解决方案 Python 报错&#xff1a;ModuleNotFoundError: No module named ‘Crypto’ 前言 Crypto是一个加密模块&#xff0c;它包含了多种加密算法&#xff0c;如 AES、DES、…

AI大模型赋能游戏:更智能、更个性化的NPC

参考论文&#xff1a;https://arxiv.org/abs/2403.10249 在传统游戏中&#xff0c;NPC&#xff08;非玩家角色&#xff09;的行为往往是预先设定好的&#xff0c;缺乏灵活性和变化性。然而&#xff0c;基于大模型的NPC可以利用其强大的推理和学习能力&#xff0c;实时生成对话…

在HTML中固定表格表头的简单方法

在HTML中&#xff0c;表格元素自身无法提供滚动以及固定表头的配置。借助第三方工具&#xff08;如jQuery的表头固定插件&#xff09;或者结合JavaScrip&#xff0c;是可以实现表格的表头固定的&#xff0c;除此之外&#xff0c;本文还想讨论一种更简单的方式来实现。 从思路上…

macOS 关闭系统更新以及相关提示

在 macOS 上&#xff0c;关闭系统更新以及相关提示可以通过以下步骤实现&#xff1a; 1. 通过系统偏好设置关闭自动更新 打开 系统偏好设置。点击 软件更新。取消勾选 “自动检查更新”&#xff0c;以及 “下载新的可用更新” 等选项。这样可以关闭自动检查更新和自动下载更新…