c#分页_用 C# 写一个 Redis 数据同步小工具

用 C# 写一个 Redis 数据同步小工具

Intro

为了实现 redis 的数据迁移而写的一个小工具,将一个实例中的 redis 数据同步到另外一个实例中。(原本打算找一个已有的工具去做,找了一个 nodejs 的小工具,结果折腾了好久都没装上。。。于是就自己写了这个小工具)

之所以自己写一个工具而不是利用 redis 备份机制来实现,主要是因为我们用的是 redis 云服务,不能像自己的服务器一样 SSH 上去一顿操作,要把云服务的 redis 数据同步到自己服务器上的 redis 实例。

基本使用

配置解读

{

"AppSettings": {

"SyncDatabases": "0,1",

"BatchSize": 50

},

"ConnectionStrings": {

"Source": "redis1:6379,asyncTimeout=30000,syncTimeout=30000",

"Dest": "redis2:6379,password=123433,asyncTimeout=30000,syncTimeout=30000"

}

}

  • AppSettings:SyncDatabases是要同步的 redis 数据库,多个数据库用英文的逗号分隔

  • AppSettings:BatchSize 是每次从源 redis 服务器读取 N 个 key(分页读取,每页 N 个)

  • ConnectionStrings:Source 代表了源 redis 服务器连接字符串

  • ConnectionStrings:Dest 代表了目标 redis 服务器连接字符串

redis 连接字符串详细参数可以参考文档:https://weihanli.github.io/StackExchange.Redis-docs-zh-cn/Configuration.html

执行迁移

修改 redis 配置之后(根据自己要同步数据量的大小设置超时时间),在项目根目录下运行 dotnet run 即可,

Sample Run

1156c97ae8a46dbd2a8d1e9652afa415.png

More

支持同步/迁移的数据类型:

  • String

  • Hash

  • List

  • Set

  • ZSet(SortedSet)

实现源码:https://github.com/WeihanLi/SamplesInPractice/tree/master/RedisCopy

Reference

  • https://github.com/WeihanLi/SamplesInPractice/tree/master/RedisCopy

  • https://weihanli.github.io/StackExchange.Redis-docs-zh-cn/Configuration.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值