通用命令
ping # 测试连接
keys * # 查看所有 key
exists <key> # 判断 key 是否存在
expire <key> <seconds> # 设置过期时间
ttl <key> # 查看剩余过期时间
del <key> # 删除 key
flushdb # 清空当前数据库
flushall # 清空所有数据库
String
set key value
get key
append key "hello"
strlen key
incr key # 自增 1
decr key # 自减 1
incrby key 10 # 自增指定值
decrby key 10 # 自减指定值
getrange key 0 -1 # 截取字符串(-1 表示末尾)
setrange key 1 xx # 从指定位置替换
setex key seconds val # 设置值并指定过期时间
setnx key value # key 不存在时才设置
mset k1 v1 k2 v2 # 批量设置
mget k1 k2 # 批量获取
getset key newval # 设置新值并返回旧值
List
lpush list v1 v2 # 左侧插入
rpush list v1 v2 # 右侧插入
lrange list 0 -1 # 获取范围元素
lpop list # 左侧弹出
rpop list # 右侧弹出
lindex list 0 # 按下标取值
llen list # 列表长度
lrem list 1 v1 # 删除指定数量的元素
ltrim list 1 3 # 只保留指定范围
rpoplpush src dst # 从 src 右端弹出并推入 dst 左端
lset list 0 item # 按下标设置值
linsert list before/after pivot val # 在 pivot 前/后插入
消息队列:lpush + rpop;栈:lpush + lpop
Set
sadd myset "hello"
smembers myset # 查看所有成员
sismember myset hello # 判断成员是否存在
scard myset # 成员数量
srem myset hello # 删除成员
srandmember myset 1 # 随机返回 n 个成员
spop myset # 随机删除一个成员
smove src dst member # 移动成员
sdiff key1 key2 # 差集
sinter key1 key2 # 交集
sunion key1 key2 # 并集
Hash
hset myhash k1 v1
hget myhash k1
hmset myhash k1 v1 k2 v2
hmget myhash k1 k2
hgetall myhash
hdel myhash k1
hlen myhash
hexists myhash k1
hkeys myhash
hvals myhash
hincrby myhash k1 1
ZSet(有序集合)
zadd myset 1 one
zrange myset 0 -1 # 升序(带分数:withscores)
zrangebyscore salary -inf +inf # 按分数升序
zrevrange salary 0 -1 # 降序
zrem salary one
zcard salary
zcount salary 1 3 # 指定分数范围内的成员数