Redis深度历险-基本数据结构小结
Redis基础数据结构
String
键值对
- set k v --保存相应键值对
- get k – 通过key 得到value
- exists k --判断key 是否存在 存在返回1
- del k --删除相应数据,删除成功返回1
批量键值对
- mset k1 v1 k2 v2 --批量保存 k1-v1 k2-v2 键值对
- mget k1 k2 --批量获得k1 k2 对应的值
过期和set扩展指令
-
setex k time v --保存 k-v数据,保存time时间
-
setnx k v --如果不存在k,则保存。否则,不保存。保存返回1,不保存返回0
计数
如果value是整数,可以自增操作
-
incr k --自增1
-
incrby k 5 --自增5
-
incrby k -5 --自增-5
List
队列
-
rpush k v1 v2 v3 --一次给k的list追加 v1 v2 v3
-
llen k – 计算list的个数
-
lpop k --弹出第一个,是弹出
栈
- rpush k v1 v2 v3
- rpop --弹出最后一个
慢操作
- lindex k index --像list.get(index) 根据索引取数据
- lrange k 0 -1 – 取出list的所有数据
- ltrim k 0 1 --保留该区间的数据
Hash
- hset obj k v -给obj这个map设置 k v
- hgetall obj -打印次map
- hlen obj --打印map长度
- hget obj k --打印次map指定的key
- hincrby obj k 1 --对map的某个v做自增
Set
- sadd setObj v --给set数据结构对象添加数据(去重)
- smembers setObj --打印set数据
- sismember setObj v --判断是否存在
- scard setObj --打印set 的size
- spop setObj --弹出一个
Zset
zset是redis的数据结构,类似set
- zadd book 7 '‘book7’ --给名字的book,数据结构为zset对象添加属性,分值是7,名字是book7
- zadd book 9 '‘book9’
- zadd book 8 '‘book8’
- zrange book 0 -1 --升序排列
- zrevrange book 0 -1 --降序排序
- zcard book – 计算zise
- zscore book '‘book8’ --获得当前对象对应的score
- zrank book '‘book8’ --获得当前对象的排名
- zrangebyscore book 7 8 --根据分区获得值。获得分值为 7到8的值
- zrem book “book8” --删除对应的值