SSDB數(shù)據(jù)庫(kù)使用手冊(cè)
/ 從 Redis 遷移到 SSDB
從 Redis 遷移到 SSDB
工具
在 tools
目錄中的 redis-import.php
PHP 腳本可以用來將 Redis 服務(wù)器上的數(shù)據(jù), 拷貝到 SSDB 服務(wù)器上.
用法:
php redis-import.php redis_host redis_port redis_db ssdb_host ssdb_port
參數(shù):
- redis_host: Redis 運(yùn)行所在的 IP 或者主機(jī)名
- redis_port: Redis 監(jiān)聽的端口
- redis_db: Redis 的 DB 編號(hào)
- ssdb_host: SSDB 運(yùn)行所在的 IP 或者主機(jī)名
- ssdb_port: SSDB 監(jiān)聽的端口
請(qǐng)確保你的 PHP Redis 模塊 https://github.com/nicolasff/phpredis 已經(jīng)安裝.
Redis 工具的支持
Tool | Supported |
---|---|
redis-cli | 支持 |
Twemproxy | 支持 |
Sentinel | 不支持 |
SSDB 和 Redis 命令對(duì)照表
SSDB 支持 Redis 協(xié)議和客戶端, 所以你可以使用 Redis 的客戶端來連接 SSDB 進(jìn)行操作.
但是, 如果你想使用 SSDB 的客戶端, 你可能需要下面的命令對(duì)照表.
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 |
請(qǐng)非常細(xì)心地閱讀此處的說明:
- 對(duì)于 Redis,
substr
命令早已經(jīng)被廢棄, 所以你不要使用substr
命令在 Redis 客戶端(當(dāng)然, 你可以這么做, 但你必須不這么做) - 如果你還想著 Redis, 那么就用
getrange
命令 - 注意這兩者的區(qū)別:
substr(start, size)
,getrange(start, end)
- 當(dāng) size 是負(fù)數(shù)時(shí), 如果你不熟悉 PHP 語言, 那么你會(huì)覺得有些奇怪
- 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) |
如果你想刪除整個(gè) hash, 那么你就必須使用 SSDB 的客戶端來執(zhí)行 hclear
命令, 用 Redis 的客戶端是刪除不了整個(gè) 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) |
如果你想刪除整個(gè) zset, 那么你就必須使用 SSDB 的客戶端來執(zhí)行 zclear
命令, 用 Redis 的客戶端是刪除不了整個(gè) 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) |
如果你想刪除整個(gè) list, 那么你就必須使用 SSDB 的客戶端來執(zhí)行 qclear
命令, 用 Redis 的客戶端是刪除不了整個(gè) list 的.