redis数据结构
常用的基本操作
keys *根据格式列出建
dbsize 计算key的数量
exists key 检查key是否存在
del key 删除 key-value
expire key seconds 设置key在seconds秒后过期
ttl key查看key的过期时间(-2 已经不存在了)
persist key 去掉key的过期时间
type key 返回key的类型
incr key 自增1
decr key 自减1
incrby key k 自增k
decrby key k 自减k
set key value [选项]
setnx key value key不存在,才设置
set key value xx key存在,才设置(相当于更新)
mget key1 key1 key1 批量获取key,原子操作
mset key1 value1 key2 value2 批量设置key-value
getset key newValue #设置新的值并返回旧的值
append key value 将value追加到旧的value
strlen key 返回字符串的长度(注意中文)
incrbyfloat key value 增加key对应的值
getrange key start end 获取字符串指定下标的所有值
setrange key index value 设定下标所有对应的值
hash操作
hget key field 获取hash key对应的field的value
hset key field 设置hash key对应的field的value
hdel key field 删除hash key对应的fiel d的value
hgetall key 获取所有的属性和值
hexists key field 判断hashkey是否由field
hlen key 获取hash key field的数量
hmget key filed1 filed2 … #批量获取hash key的一批field对应的值
hmset key filed1 value1 field2 value2 … #批量设置hash key的一批field value
///小总结 即hash方法大部分和string方法类似,都是在string方法首部加个h
hincrby key field increment //自增指定的值
hvals key 返回hash key对应所有field的value
hkeys key 返回hash key对应所有field
list操作
rpush key value1 value2 … #从列表右端插入值
lpush key value1 value2 … #从列表左端插入值
linsert key before|after value newVaue #在list指定值前|后插入newValue
lpop key 从列表左侧弹出一个item
rpop key 从列表右侧弹出一个item
lrem key count value 根据count值,从列表中删除所有value想等的项
ltrim key start end 按照索引范围修剪列表
lrange key start end (包含end)获取列表指定索引范围所有item
lindex key index 获取列表指定索引的item
llen key 获取列表的长度
lset key index newValue 设置列表指定索引值为newValue
blpop key timeout lpop的阻塞版本 0不阻塞
brpop key timeout rpop的阻塞版本 0不阻塞
set操作
sadd key element 向集合key中添加element(如果存在则添加失败)
srem key element 将集合key中的element移除掉
scard key 计算集合的大小
sismember key element 判断元素是否存在集合中
srandmember key count 从集合中随机挑count个元素
spop key count 从集合中随机弹出count个元素
smembers key 获取结合中的所有元素(结果无序)
sdiff key1 key2 … 取集合间的差集
sinter key1 key2 … 取集合间的交集
sunion key1 key2 … 取集合间的并集
(sdiff|sunion|sinter)store destkey/将结果存储在目标key中
zset(有序集合
zadd key score element(可以是多对) 添加socre和element
zrem key element (可以是多个) 删除元素
zscore key element 返回元素的分数
zincrby key increScore element 增加或减少元素的分数
zcard 返回元素的总个数
zrank key element 获取元素的排名(从小到大排序,第一个是0,然后依次类推1,2,…)
zrange key start end 【withsocres(带着分数显示)】返回指定索引范围内的升序元素
zrangebyscore key minScore maxScore [withscores]返回指定分数范围内的生序元素
zcount key minScore maxScore 返回有序集合内在指定分数范围内的个数
zremrangebyrank key start end 删除指定排名内的生序元素
zremrangebyscore key minScore maxScore删除指定分数内的生序元素
zrevrank (从高到底的排名) revrange zrevrange zrevrangebyscore
zinterstore zunionstore