存储结构
注意: redis是key -> value 存储类型,所以存储必须基于key,value有不同的结构!!!
记是记不住的,用到时候多看看也就记住了。
string
- 获取所有key
keys *
- 获取某个key的类型
type key
- 设置key、value
set key value
- 设置key、value不存在则设置
setnx key value
- 设置key、value存在n秒
setex key n value
- 获取某个key值
get key
- 批量设置key、value
mset key value key1 value1
- 批量获取key、value
mget key value key1 value1
- 批量设置key、value,任意一个key不存在则设置
msetnx key value key1 value1
- 返回key指定范围下标(n到m)的value
getrange key n m
- 自增
incr key
- 增加n
incrby key n
- 自减
decr key
- 减n
decrby key n
- 返回key值的长度
strlen key
- 在key值后面再添加value
append key value
- 判断是否存在key
exists key
- 返回key值的长度
strlen key
- 设置key的过期时间n(秒)
expire key n
- 设置key的过期时间n(毫秒)
pexpire key n
- 查询key的过期时间
ttl key
- 删除过期时间
persist key
hash(实体)
- 获取hash所有key
hkeys key
- 获取hash所有value
hvals key
- 获取hash所有key、value
hgetall key
- 设置key、value
hset key field value
- 批量设置key、value
hmset key field value field2 value2 field3 value3
- 获取某个key值
hget key field
- 批量获取key、value
hmget key field field2 field3
- 设置key、value不存在则设置
hsetnx key field value
- 自增
hincr key field
- 增加n
hincrby key field
- 自减
hdecr key field
- 减n
hdecrby key field
- 判断table中是否存在filed
hexists key filed
- 判断table有几个field
hlen key
- 删除field
hdel key field
list(双向链表)
- 获取list所有value
lrange key 0 -1取全部元素
- 在左边插入list元素
lpush key value
- 在右边插入list元素
rpush key value
- 从左边弹出一个list元素
lpop key
- 从右边弹出一个list元素
rpop key
- 获取list长度
llen key
- 从list中删除n个和value相同的元素
lrem key n value
- 从list中删除下标1—3元素
ltrim key 1 3
- 获取指定索引value
lindex key n
- 把list中下标为n的元素赋值为value
lset key n value
- 在value前面压入一个元素
linsert key before value value
- 在value后面压入一个元素
linsert key after value value
- 移除list中最后(最前)一个元素并向左(右)插入到list2中
r(r)popl(r)push key key2
set(set集合)
- 获取set所有value
smembers key
- 返回set中元素个数
scard key
- 向set添加元素
sadd key value
- 删除value元素
srem key value
- 随机返回并删除元素
spop key
- 随机返回set中一个元素,不会删除
srandmember key
- 返回所有指定set与第一个set的差集
sdiff key1 key2
- 返回所有指定set与第一个set的差集并存入set3中
sdiffstore key1 key2 key3
- 返回所有指定的交集
sinter key1 key2
- 返回所有指定的次并存入set3
sinterstore key1 key2 key3
- 返回所有指定的并集
sunion key1 key2
- 返回所有指定的并集并存入set3
sunionstore key1 key2 key3
- 从第一个set中value剪切到第二个set中
smove key1 key2 value
- 判断value是否为set的元素
sismember key value
zset(根据score排序的set集合)
- 获取zset所有value(是否带顺序号) (升序)
zrange key 0 -1 withscores
- 获取zset所有value(是否带顺序号) (降序)
zrevrange lb 0 -1 withscores
- 返回zset中元素个数
scard key
- 向zset添加元素,顺序为n
zadd key n value
- 删除value元素
zrem key value
- 给指定value的顺序号添加n
zincrby key n value
- 返回按顺序号从大到小(从小到大)排序后value的索引下标
zrank(zrevrank) key value
- 返回指定区间的元素
zrangebyscore key 1 3 withscores
- 返回zset指定区间数量
zcount key 1 3
- 返回所有元素的数量
zcard key
- 删除zset索引在指定区别的元素
zremrangebyrank key 1 3