From 5e5133dfaa311d4b4892fea480cd2e97ad5eb263 Mon Sep 17 00:00:00 2001 From: suxb201 Date: Mon, 17 Jun 2024 20:19:21 +0800 Subject: [PATCH] docs: refine documentation (#831) --- README.md | 1 + cmd/redis-shake/main.go | 19 ++++++++++++++++--- docs/demo.gif | Bin 0 -> 84736 bytes docs/src/zh/reader/scan_reader.md | 2 +- internal/client/redis.go | 3 +++ shake.toml | 12 ++++++------ 6 files changed, 27 insertions(+), 10 deletions(-) create mode 100644 docs/demo.gif diff --git a/README.md b/README.md index e66793ab..1797ef57 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ - [中文文档](https://tair-opensource.github.io/RedisShake/) - [English Documentation](https://tair-opensource.github.io/RedisShake/en/) +![](./docs/demo.gif) ## Overview RedisShake is a tool designed for processing and migrating Redis data. It offers the following features: diff --git a/cmd/redis-shake/main.go b/cmd/redis-shake/main.go index 9acd5c98..723406a6 100644 --- a/cmd/redis-shake/main.go +++ b/cmd/redis-shake/main.go @@ -166,7 +166,20 @@ Loop: func waitShutdown(cancel context.CancelFunc) { quitCh := make(chan os.Signal, 1) signal.Notify(quitCh, syscall.SIGINT, syscall.SIGTERM, syscall.SIGQUIT) - sig := <-quitCh - log.Infof("Got signal: %s to exit.", sig) - cancel() + sigTimes := 0 + for { + sig := <-quitCh + sigTimes++ + if sig != syscall.SIGINT { + log.Infof("Got signal: %s.", sig) + } else { + log.Infof("Got signal: %s to exit. Press Ctrl+C again to force exit.", sig) + if sigTimes >= 2 { + os.Exit(0) + } + cancel() + } + + } + } diff --git a/docs/demo.gif b/docs/demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..4d3c2fe12d2cdf66fdb6d9bf607381e89342e32a GIT binary patch literal 84736 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

R(oDpLqJdnk}oZ zZ+I)Y;`t!~1rVk{kA34k|>$;jMBgvIN3glWg zj326uda{6LEX!iZLf!_bDyLR zn?_r90@_p;zE>W$d~f+0dZN07ID6E=+`1d7srHe%>ZnVubua#*+KRy0pS@R4TEC^X zsjbOX{T%RZ{hocIwtnI4ui@m@ABCFgn^&uTjlXQ&uY9P!b?fZ!>Cx7M`Zo2Qe;;)o zww|c(lFt5FW^Oy`*3|fxT=i#FuI=aGLyaGKXa8hHF1+wX-Fjia|` zkN1+>{;X+g{u-@1-hbKlcjuwzpHF8`evY;sAGATMc2y^Tzqg$npJ)Qq6o3&2W23-$ zad2S@TndL!pdd7GNL>oj7)ND6p|ZnKJ5#8=aHs$ZDinu~q@d$*G^rGtY#ePNg|-q$ zS5Kj9#nE?D=m&8O6BLF89OD{=aR2g3{bXW<;I6d$uf4zmUy zi*62!F(0c%4yzp>n{y7E7aw~-4tppcM`R91Jm0C*oKx9+oP{}@m3&hVLnwb^UV$0X!6+ADTe_l%Pf6zi`40| zy1;}{$ds+Xlvn7AaKRNRp{oi7S2cvpbPLRkh0HAq%N9e{u!Hr`fd+I`aMqvlG zLI+;qo5F=RrG#%O6yDMhcGN9&G!}NUD0H$Dc6Kgw_Bs*19Z+~XRM;i5&?R2jHMP(+ zTiC6z(5+I~y}r=BRoJ7u&|^^8bE435LD*}p&}&Ed&OzawV_|RVB5y_!AGRVNUXi=P zMR%n{d=-j(HAMV$i~Nj5{4I+7?L-2civqkv0t1QyLq&oji-O`s?xhyp%N7YPEDEj^ zxnEy&zf~lpyC`H(z9W6=cak_1MvM7G9~L|(BZ;gTdNv1EmkWDT(t-I5ez zu_qQKPwd1}ol8=^#L@yv(n7`3BTLfb#h#{?Jk1u%C@jgS6nj=*@~l-Xv%4g7P%LYr zBx^w|d#xmUN9_4Q$@60|3Uw)kQ9OsOG>2C_SGY7+N<2@YG*3f3U$->hSiHcZw7^ch z(7CkGOS~wcv?x@(II^@jUc4l=v?N=+w6L_aQoO9bw5(OUyt}k~P`qNIv|>TLa;>y- ON4)BwG=LfjsQx!?>OU#~ literal 0 HcmV?d00001 diff --git a/docs/src/zh/reader/scan_reader.md b/docs/src/zh/reader/scan_reader.md index 3020f340..791f723f 100644 --- a/docs/src/zh/reader/scan_reader.md +++ b/docs/src/zh/reader/scan_reader.md @@ -25,7 +25,7 @@ Scan Reader 有 SCAN 和 KSN 两个阶段,SCAN 阶段是全量同步,KSN 阶 `ksn` 使用 [Redis keyspace notifications](https://redis.io/docs/manual/keyspace-notifications/) 能力来订阅 Key 的变化。具体来说,RedisShake 会使用 `psubscribe` 命令订阅 `__keyevent@*__:*`,当 Key 发生变化时,RedisShake 会收到发生修改的 Key,之后使用 `DUMP` 与 `RESTORE` 命令来从源端读取 Key 的内容,并写入目标端。 -1. Redis 在默认情况下不会开启 `notify-keyspace-events` 配置,需要手动开启,保证值中含有 `E`。 +1. Redis 在默认情况下不会开启 `notify-keyspace-events` 配置,需要手动开启,保证值中含有 `AE`。 2. 如果在 KSN 阶段出现源端将连接断开,考虑适当调高 `client-output-buffer-limit pubsub` 的值。[802](https://github.com/tair-opensource/RedisShake/issues/802) 3. `Redis keyspace notifications` 不会感知到 `FLUSHALL` 与 `FLUSHDB` 命令,因此在使用 `ksn` 参数时,需要确保源端数据库不会执行这两个命令。 diff --git a/internal/client/redis.go b/internal/client/redis.go index 11cec85a..055aaebf 100644 --- a/internal/client/redis.go +++ b/internal/client/redis.go @@ -130,6 +130,9 @@ func getReplicaAddr(info string) RedisReplicaInfo { replicas = append(replicas, replica) } } + if len(replicas) == 0 { + log.Panicf("no replica found, should not set `prefer_replica` to true") + } best := replicas[0] for _, replica := range replicas { if replica.Offset > best.Offset { diff --git a/shake.toml b/shake.toml index 92415edb..d8f3bfdc 100644 --- a/shake.toml +++ b/shake.toml @@ -6,11 +6,11 @@ cluster = false # set to true if source is a redis cluster address = "127.0.0.1:6379" # when cluster is true, set address to one of the cluster node username = "" # keep empty if not using ACL password = "" # keep empty if no authentication is required -tls = false -sync_rdb = true # set to false if you don't want to sync rdb -sync_aof = true # set to false if you don't want to sync aof -prefer_replica = true # set to true if you want to sync from replica node -try_diskless = false # set to true if you want to sync by socket and source repl-diskless-sync=yes +tls = false # +sync_rdb = true # set to false if you don't want to sync rdb +sync_aof = true # set to false if you don't want to sync aof +prefer_replica = false # set to true if you want to sync from replica node +try_diskless = false # set to true if you want to sync by socket and source repl-diskless-sync=yes #[scan_reader] #cluster = false # set to true if source is a redis cluster @@ -38,7 +38,7 @@ address = "127.0.0.1:6380" # when cluster is true, set address to one of the clu username = "" # keep empty if not using ACL password = "" # keep empty if no authentication is required tls = false -off_reply = false # ture off the server reply +off_reply = false # ture off the server reply [advanced] dir = "data"