当前位置: 首页 > news >正文

2014做网站中国建筑集团有限公司电话

2014做网站,中国建筑集团有限公司电话,安徽网站建设案例,网站开发方案设计笔者通过一个 Redis 数据库迁移的例子,介绍了迁移脚本的执行思路。 作者:马文斌,MySQL/Redis 爱好者~ 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 本文约 500 字,预计阅…

笔者通过一个 Redis 数据库迁移的例子,介绍了迁移脚本的执行思路。

作者:马文斌,MySQL/Redis 爱好者~

爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。

本文约 500 字,预计阅读需要 2 分钟。

业务背景

最近因业务需要将集群中的 Redis db8 迁移到另一个库中。不需要把全部的 Redis 都迁移过去,只需要迁移 db8 到新服务器的 db15。

大概情况是这样,如图:

集群迁移效果

当然也探索了一些开源工具看能否实现,最后效果都不太理想,于是自己手撸一个脚本来迁移吧。

migrate_redis.py

以下是脚本内容。

import redis
import time# 定义 redis1 和 redis 主机信息
redis1_host = '192.168.1.1'
redis1_port = 6579
redis1_db = 8
redis1_password = 'xxxx'redis2_host = '192.168.1.1'
redis2_port = 6579
redis2_db = 15
redis2_password = 'xxxx'# 连接 redis1 和 redis2 并验证密码
redis1 = redis.StrictRedis(host=redis1_host, port=redis1_port, db=redis1_db, password=redis1_password)
redis2 = redis.StrictRedis(host=redis2_host, port=redis2_port, db=redis2_db, password=redis2_password)# 设置每次批量迁移的数据量
batch_size = 1000# 为进度跟踪初始化变量
keys_processed = 0
start_time = time.time()# 使用 SCAN 批量获取 key
cursor = '0'
total_keys = len(redis1.keys('*'))while cursor != 0:cursor, keys = redis1.scan(cursor, count=batch_size)for key in keys:key_data = redis1.dump(key)redis2.restore(key, 0, key_data, replace=True)keys_processed += 1# 每 1000 个 key 打印一次进度if keys_processed % batch_size == 0 or keys_processed == total_keys:elapsed_time = time.time() - start_timekeys_per_second = batch_size / elapsed_timeestimated_remaining_time = (total_keys - keys_processed) / keys_per_secondprint(f"Processed {keys_processed}/{total_keys} keys. "f"Elapsed Time: {elapsed_time:.2f} seconds. "f"Estimated Remaining Time: {estimated_remaining_time:.2f} seconds for the next 1000 keys.")# 为下一批次重置变量start_time = time.time()print("Data migration completed.")

输出效果

每隔 1000 个 key 打印一次输出,并评估剩余迁移时间。

Processed 1000/3592 keys. Elapsed Time: 16.46 seconds. Estimated Remaining Time: 42.67 seconds for the next 1000 keys.
Processed 2000/3592 keys. Elapsed Time: 16.96 seconds. Estimated Remaining Time: 27.01 seconds for the next 1000 keys.
Processed 3000/3592 keys. Elapsed Time: 17.03 seconds. Estimated Remaining Time: 10.08 seconds for the next 1000 keys.
Processed 3592/3592 keys. Elapsed Time: 9.81 seconds. Estimated Remaining Time: 0.00 seconds for the next 1000 keys.
Data migration completed.Process finished with exit code 0

迁移完之后检查

运行 info 命令检查:

源库 3592 个 key,目标库也是 3592 个 key, 迁移完成,收工!

迁移检查

更多技术文章,请访问:https://opensource.actionsky.com/

关于 SQLE

SQLE 是一款全方位的 SQL 质量管理平台,覆盖开发至生产环境的 SQL 审核和管理。支持主流的开源、商业、国产数据库,为开发和运维提供流程自动化能力,提升上线效率,提高数据质量。

SQLE 获取

类型地址
版本库https://github.com/actiontech/sqle
文档https://actiontech.github.io/sqle-docs/
发布信息https://github.com/actiontech/sqle/releases
数据审核插件开发文档https://actiontech.github.io/sqle-docs/docs/dev-manual/plugins/howtouse
http://www.yayakq.cn/news/82230/

相关文章:

  • 商业网站网上申报系统入口
  • 钓鱼网站搭建教程定制建站公司
  • 免费建网站平台哪个好网页设计工资多少钱
  • 个人网站设计实验原理重庆seo扣费
  • 南乐县住房和城乡建设局网站网站后台和前台不一致
  • 郑州达云通网站建设公司查询域名注册网站
  • 网站制作杭州python购物网站开发流程
  • 做网站设计管理需要什么知识平面设计图数字标识
  • 仿站工具在线seo网站结构优化的方法
  • 有没有安全一点的网站分公司注册流程及需要的材料
  • 做网站linux和win西安企业网站搭建
  • 简述一下网站建设流程低价网站建设策划内容
  • seo诊断网站免费诊断平台苏州市建设工程招投标信息网
  • 完整的网站后台权限编码科技平台网站建设
  • 中国移动的5G网站建设给了谁前端开发培训机构济南七里河
  • 做淘客哪个网站好点圣诞节网站怎么做
  • 学软件开发的网站python做网站感觉好费劲
  • 网站营销优化椒江哪里可以做公司网站
  • 做网站找顺的wordpress3.9
  • 网站建设课设报告ie浏览器官方网址入口
  • 网站网址怎么做二维码出售网站建设群
  • 网站建设连接到百度企梦网站建设
  • 做网站如何分页云服务器建立wordpress
  • 全屏幕网站模板360建筑网在哪里
  • 网站上传安装在哪里做网站比较好
  • 国外购买域名的网站合肥做网站价格
  • 网站建设银行仿v电影的模板 好像是wordpress
  • 佛山市手机网站建设公司ipad 建网站
  • 保山便宜的网站建设网站建设一般要素
  • 南昌外包建站做网站在图片里加文字