String
就是个字符串
#设置
set key value
#设置-不存在则写入,存在则不写
setnx key value
#设置并且设置过期时间
setex key seconds value
#批量设置
mset key1 value1 key2 value2 ...
#批量设置-不存在则写入,存在则不写,其中有一个不存在则都不写
msetnx key1 value1 key2 value2 ...
#获取并设置 - 获取到值返回,再设置
getset key value
#获取
get key
#批量获取
mget key1 key2 ...
#追加 - 不存在则新增
append key value
#获取长度
strlen key
#自增1
incr key
#自减1
decr key
#自增
incrby key value
#自减
decrby key value
#替换 - 从offset起开始替换指定value长度的值
setrange key offset value
#截取 - end设为-1表示从start起的全部
getrange key start end
List
就是个列表,看成链表就好了
基本都是l开头
#放到左边
lpush key value1 value2 value3
#放到右边
rpush key value1 value2 value3
#将key1最右边的元素放到key2的最左边
rpoplpush key1 key2
#覆盖指定下标的值
lset key index new_value
#插入-在指定值的前或后边插入
linsert key before/after specified_value value
#获取 - end设为-1表示从start起的全部
lrange key start end
#获取索引下的值
lindex key index
#移除左边的元素
lpop key count
#移除右边的元素
rpop key count
#移除指定内容的元素
lrem key count value
#统计元素个数
llen key
#保留指定部分,其他删除 - end设为-1表示从start起的全部
ltrim key start end
Set
无序集合
基本都是s开头
#添加
sadd key value
#遍历集合
smembers key
#判断该值是否存在于集合中
sismember key value
#获取集合元素个数
scard key
#删除集合中指定元素
srem key value
#随机删除一个元素
spop key
#随机抽取一个元素,不会删除
srandmember key
#交集
sinter key1 key2
#并集
sunion key1 key2
#差集
sdiff key1 key2
Hash
就是个键值对存储,但是值不是单纯的一个值
基本都是h开头
#设置
hset key field value
#设置多个
hmset key field1 value1 field2 value2 ...
#设置-不存在则写入,存在则不写
hsetnx key field value
#增加
hincrby key field value
#获取
hget key field
#获取多个
hget key field1 field2 ...
#获取全部
hgetall key
#获取所有key
hkeys key
#获取所有值
hvals key
#获取键值对个数
hlen key
#删除
hdel key field1 field2 ...
#判断键是否存在
hexists key field
Zset
有序集合
#设置
zadd key pos1 value1 pos2 value2 ...
#获取 - end设为-1表示从start起的全部
zrange key start end [withscores]
#获取集合元素个数
zcard key
#获取集合元素个数
zcount key min max
#获取 - 例:
zrangebyscore key min max [withscores] #这是结构
zrangebyscore key 1 5 [withscores] #显示socre为1-5的
zrangebyscore key -inf +inf [withscores] #显示所有
zrangebyscore key -inf 3 [withscores] #显示所有小于等于3的
#删除
zrem key value1 value2
zrange和zrangebyscore的区别是一个是按索引,一个是按值score