(转)从 Redis 迁移到 SSDB
工具
在 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 工具的支持
| Tool | Supported |
|---|---|
| redis-cli | 支持 |
| Twemproxy | 支持 |
| Sentinel | 不支持 |
SSDB 和 Redis 命令对照表
SSDB 支持 Redis 协议和客户端, 所以你可以使用 Redis 的客户端来连接 SSDB 进行操作.
但是, 如果你想使用 SSDB 的客户端, 你可能需要下面的命令对照表.
Key-Value
| Redis | SSDB |
|---|---|
| get | get |
| set | set |
| setex | setx(for kv type only) |
| del | del |
| incr/incrBy | incr |
| decr/decrBy | decr |
| mget/getMultiple | multi_get |
| setMultiple | multi_set |
| del(multiple) | multi_del |
| keys | keys(for kv type only) |
| getset | getset |
| setnx | setnx |
| exists | exists |
| ttl | ttl |
| expire | expire |
| getbit | getbit |
| setbit | setbit |
| bitcount | redis_bitcount, countbit |
| strlen | strlen |
| getrange | getrange |
请非常细心地阅读此处的说明:
- 对于 Redis,
substr命令早已经被废弃, 所以你不要使用substr命令在 Redis 客户端(当然, 你可以这么做, 但你必须不这么做) - 如果你还想着 Redis, 那么就用
getrange命令 - 注意这两者的区别:
substr(start, size),getrange(start, end) - 当 size 是负数时, 如果你不熟悉 PHP 语言, 那么你会觉得有些奇怪
- SSDB 的
substr命令的描述这 这里
Key-Map(Hash)
| Redis | SSDB |
|---|---|
| del(not supported) | hclear |
| hget | hget |
| hset | hset |
| hdel, hmdel | hdel, multi_hdel |
| hIncrBy | hincr |
| hDecrBy | hdecr |
| hKeys | hkeys |
| hVals | hscan |
| hMGet | multi_hget |
| hMSet | multi_hset |
| hLen | hsize |
| hExists | hexists |
| keys | hlist(for hash type only) |
如果你想删除整个 hash, 那么你就必须使用 SSDB 的客户端来执行 hclear 命令, 用 Redis 的客户端是删除不了整个 hash 的.
Key-Zset
| Redis | SSDB |
|---|---|
| del(not supported) | zclear |
| zScore | zget |
| zAdd | zset |
| zRem | zdel |
| zRange | zrange |
| zRevRange | zrrange |
| zRangeByScore | zscan |
| zRevRangeByScore | zrscan |
| zIncrBy | zincr |
| zDecrBy | zdecr |
| zCount | zcount |
| zSum | zsum |
| zAvg | zavg |
| zCard | zsize |
| zRank | zrank |
| zRemRangeByRank | zremrangebyrank |
| zRemRangeByScore | zremrangebyscore |
| keys | zlist(for zset type only) |
如果你想删除整个 zset, 那么你就必须使用 SSDB 的客户端来执行 zclear 命令, 用 Redis 的客户端是删除不了整个 zset 的.
Key-List(Queue)
| Redis | SSDB |
|---|---|
| del(not supported) | qclear |
| llen/lsize | qsize |
| lpush | qpush_front |
| rpush | qpush_back |
| lpop | qpop_front |
| rpop | qpop_back |
| lrange | qslice |
| lindex, lget | qget |
| lset | qset |
| keys | qlist(for queue/list type only) |
如果你想删除整个 list, 那么你就必须使用 SSDB 的客户端来执行 qclear 命令, 用 Redis 的客户端是删除不了整个 list 的.
(来自:http://ssdb.io/docs/zh_cn/redis-to-ssdb.html)
热门日志
分类
- git(9)
- Mac(7)
- C(1)
- memcache(1)
- Python(32)
- Vim(8)
- sed(2)
- ansible(3)
- awk(4)
- shell(3)
- Django(4)
- ssdb(1)
- bat(4)
- svn(0)
- docker(1)
- Tornado(1)
- go(2)
- 架构(19)
- Vue(1)
- game(2)
- AI(1)
- Windows(8)
- Java(8)
- Mysql(38)
- Ajax(2)
- Jsp(1)
- Struts(8)
- Linux(73)
- JavaScript(39)
- Staruml(0)
- Mouth(1)
- Html(6)
- Php(102)
- Message(51)
- Lua(10)
- Compute(1)
- Redis(7)
- Nginx(12)
- Jquery(1)
- Apache(1)
- cocos2d-x(8)
- about(1)

