SSDB資料庫使用手冊
/ 從 Redis 遷移到 SSDB
從 Redis 遷移到 SSDB
工具
在 tools
目錄中的 redis-import.php
PHP 腳本可以用來將 Redis 服務器上的數(shù)據(jù), 拷貝到 SSDB 服務器上.
用法:
php redis-import.php redis_host redis_port redis_db ssdb_host ssdb_port
參數(shù):
- redis_host: Redis 運行所在的 IP 或者主機名
- redis_port: Redis 監(jiān)聽的端口
- redis_db: Redis 的 DB 編號
- ssdb_host: SSDB 運行所在的 IP 或者主機名
- ssdb_port: SSDB 監(jiān)聽的端口
請確保你的 PHP Redis 模塊 https://github.com/nicolasff/phpredis 已經(jīng)安裝.
Redis 工具的支持
Tool | Supported |
---|---|
redis-cli | 支持 |
Twemproxy | 支持 |
Sentinel | 不支持 |
SSDB 和 Redis 命令對照表
SSDB 支持 Redis 協(xié)議和客戶端, 所以你可以使用 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
命令早已經(jīng)被廢棄, 所以你不要使用substr
命令在 Redis 客戶端(當然, 你可以這么做, 但你必須不這么做) - 如果你還想著 Redis, 那么就用
getrange
命令 - 注意這兩者的區(qū)別:
substr(start, size)
,getrange(start, end)
- 當 size 是負數(shù)時, 如果你不熟悉 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 的客戶端來執(zhí)行 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 的客戶端來執(zhí)行 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 的客戶端來執(zhí)行 qclear
命令, 用 Redis 的客戶端是刪除不了整個 list 的.