当前位置:K88软件开发文章中心编程语言SQLSSDB → 文章内容

从 Redis 迁移到 SSDB

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-26 15:43:10

由 路飞 创建, 最后一次修改 2016-04-09 工具在 tools 目录中的 redis-import.php PHP 脚本可以用来将 Redis 服务器上的数据, 拷贝到 SSDB 服务器上.用法:php redis-import.php redis_host redis_port redis_db ssdb_host ssdb_port参数:redis_host: Redis 运行所在的 IP 或者主机名redis_port: Redis 监听的端口redis_db: Redis 的 DB 编号ssdb_host: SSDB 运行所在的 IP 或者主机名ssdb_port: SSDB 监听的端口请确保你的 PHP Redis 模块 https://github.com/nicolasff/phpredis 已经安装.Redis 工具的支持ToolSupportedredis-cli支持Twemproxy支持Sentinel不支持SSDB 和 Redis 命令对照表SSDB 支持 Redis 协议和客户端, 所以你可以使用 Redis 的客户端来连接 SSDB 进行操作.但是, 如果你想使用 SSDB 的客户端, 你可能需要下面的命令对照表.Key-ValueRedisSSDBgetgetsetsetsetexsetx(for kv type only)deldelincr/incrByincrdecr/decrBydecrmget/getMultiplemulti_getsetMultiplemulti_setdel(multiple)multi_delkeyskeys(for kv type only)getsetgetsetsetnxsetnxexistsexiststtlttlexpireexpiregetbitgetbitsetbitsetbitbitcountredis_bitcount, countbitstrlenstrlengetrangegetrange请非常细心地阅读此处的说明:对于 Redis, substr 命令早已经被废弃, 所以你不要使用 substr 命令在 Redis 客户端(当然, 你可以这么做, 但你必须不这么做)如果你还想着 Redis, 那么就用 getrange 命令注意这两者的区别: substr(start, size), getrange(start, end)当 size 是负数时, 如果你不熟悉 PHP 语言, 那么你会觉得有些奇怪SSDB 的 substr 命令的描述这 这里Key-Map(Hash)RedisSSDBdel(not supported)hclearhgethgethsethsethdel, hmdelhdel, multi_hdelhIncrByhincrhDecrByhdecrhKeyshkeyshValshscanhMGetmulti_hgethMSetmulti_hsethLenhsizehExistshexistskeyshlist(for hash type only)如果你想删除整个 hash, 那么你就必须使用 SSDB 的客户端来执行 hclear 命令, 用 Redis 的客户端是删除不了整个 hash 的.Key-ZsetRedisSSDBdel(not supported)zclearzScorezgetzAddzsetzRemzdelzRangezrangezRevRangezrrangezRangeByScorezscanzRevRangeByScorezrscanzIncrByzincrzDecrByzdecrzCountzcountzSumzsumzAvgzavgzCardzsizezRankzrankzRemRangeByRankzremrangebyrankzRemRangeByScorezremrangebyscorekeyszlist(for zset type only)如果你想删除整个 zset, 那么你就必须使用 SSDB 的客户端来执行 zclear 命令, 用 Redis 的客户端是删除不了整个 zset 的.Key-List(Queue)RedisSSDBdel(not supported)qclearllen/lsizeqsizelpushqpush_frontrpushqpush_backlpopqpop_frontrpopqpop_backlrangeqslicelindex, lgetqgetlsetqsetkeysqlist(for queue/list type only)如果你想删除整个 list, 那么你就必须使用 SSDB 的客户端来执行 qclear 命令, 用 Redis 的客户端是删除不了整个 list 的.

从 Redis 迁移到 SSDB