Redis에서 SSDB로 마이그레이션


도구

tools 目录中的 redis-import.php PHP 스크립트를 사용하면 Redis 서버의 데이터를 SSDB 서버로 복사할 수 있습니다.

Usage:

php redis-import.php redis_host redis_port redis_db ssdb_host ssdb_port

Parameters:

  • redis_host: Redis가 있는 IP running 또는 호스트 이름
  • redis_port: Redis 수신 포트
  • redis_db: Redis DB 번호
  • ssdb_host: SSDB가 실행 중인 IP 또는 호스트 이름
  • ssdb_port: SSDB 수신 포트

PHP Redis 모듈을 확인하세요. https: //github.com/nicolasff/phpredis 이미 설치되었습니다.

Redis 도구 지원

# 🎜🎜#redis-cliTwemproxy# 🎜 🎜#지원됨Sentinel지원되지 않음#🎜 🎜 #

SSDB와 Redis 명령 비교표

SSDB는 Redis 프로토콜과 클라이언트를 지원하므로 Redis 클라이언트를 사용하여 SSDB에 연결하여 작업할 수 있습니다.

단, SSDB 클라이언트를 사용하려면 다음 명령이 필요할 수 있습니다. 비교표.

Key-Value

Tool지원됨
support
strlenstrlen#🎜🎜 #🎜🎜 # getrangegetrange

여기 지침을 주의 깊게 읽어주세요.

  • Redis의 경우 substr 명령은 더 이상 사용되지 않으므로 substr > 명령 Redis 클라이언트에서(물론 이 작업을 할 수 있지만 하면 안 됩니다 이렇게 하세요)substr 命令早已经被废弃, 所以你不要使用 substr 命令在 Redis 客户端(当然, 你可以这么做, 但你必须不这么做)
  • 如果你还想着 Redis, 那么就用 getrange 命令
  • 注意这两者的区别: substr(start, size)getrange(start, end)
  • 当 size 是负数时, 如果你不熟悉 PHP 语言, 那么你会觉得有些奇怪
  • SSDB 的 substr아직 Redis를 생각하고 계시다면 getrange 명령
  • 두 가지의 차이점에 유의하세요. substr(시작, 크기), getrange(start, end)🎜🎜size가 음수인 경우 PHP 언어에 익숙하지 않은 경우 조금 이상하게 느껴질 수 있습니다🎜🎜SSDB의 substr 명령 설명은 여기🎜여기🎜🎜

키 맵(해시)

RedisSSDB
getget
setset
setex setx(kv 유형에만 해당)
del del
incr/incrByincr
decr/decrBydecr
mget/getMultiplemulti_get
setMultiplemulti_set
del(다중)multi_del
keyskeys(kv 유형에만 해당)
getsetgetset
setnxsetnx
존재합니다존재합니다
ttlttl
expireexpire
getbitgetbit
setbit setbit
bitcountredis_bitcount, countbit
#🎜 🎜#del(#🎜 🎜##hset######hset#### ## ## ####hdel, hmdel##################### hIncrByhincrhDecrByhdecr#🎜 🎜##🎜 🎜#hKeyshkeyshValshscan# 🎜🎜# #ㅋㅋㅋ 세트#🎜 🎜#hLen
RedisSSDB
지원되지 않음)hclear
hgethget
hsize
hExistshexists
keyshlist(해시 유형에만 해당)

전체 해시를 삭제하려면 SSDB 클라이언트를 사용하여 hclear 명령을 실행해야 합니다. Redis 클라이언트를 사용하여 전체 해시를 삭제할 수 없습니다.#🎜 🎜#

Key-Zset

# 🎜 🎜#zAddzsetzRemzdel#🎜 🎜# zRangezRevRange#🎜🎜 ##🎜 🎜#zscanzrscan#🎜 🎜#zIncrByzincrzDecrByzdecr#🎜 🎜##🎜 🎜#zCountzcount# 🎜 🎜#zCardzsizezRankzrank#🎜 🎜# zRemRangeByRankzRemRangeByScore#🎜🎜 #zremrangebyscore#🎜 🎜#zlist(zset 유형에만 해당)
RedisSSDB
del(지원되지 않음)zclear
zScorezget
zrange
zrrangezRangeByScore
zRevRangeByScore
zSumzsum
zAvgzavg
zremrangebyrank
keys

전체 zset를 삭제하려면 SSDB 클라이언트를 사용하여 zclear 명령을 실행해야 합니다. Redis 클라이언트를 사용하여 전체 zset를 삭제할 수 없습니다.#🎜 🎜#

키 목록(큐)

#🎜 🎜#del(
RedisSSDB
지원되지 않음)qclear
llen/lsizeqsize
lpushqpush_front
rpushqpush_back
l 팝qpop_front
rpopqpop_back
lrangeqslice
lindex, lgetqget
lsetqset
keysqlist(큐/목록 유형 전용)

전체 목록을 삭제하려면 SSDB 클라이언트를 사용하여 qclear 명령을 실행해야 합니다. Redis 클라이언트를 사용하여 전체 목록을 삭제할 수 없습니다.