不积跬步,无以至千里,千里之行,始于足下。虽然基础不难,学习时也不知道会用在什么地方,但是还是要学的。
redis基础结构
string (字符串)
设置单个key: set key value
单个获取key值 : get key
批量获取: mget key1 key2
设置key值的过期时间 : expire key 时间(秒)
设置值+过期时间 : setex keys expire value (set +expire)
如果key不存在创建,若存在创建失败 : setnx key value
list(列表)
列表的插入和删除很快,复杂度为O(1),查找为 O(n),内部存储结构为链表,最后一个元素弹出时列表被内存回收 ,右进左出是对列,右进右出事栈
从左侧插入 : rpush key value1 value2 value3
查看列表的长度 llen key
(慢操作) 获取指定位置的元素 : lindex key index
保留列表中的数据段 : ltrim key start end , 若start 为1 ,end为0 清除整个列表
查询序列表中指定的数据 :lrange key start end
hash(哈希)
hash可以存储单个字段
存储某个key 单字段的值 : hset key field value
查看某个key的长度 : hlen key
批量设置 : hmset key field value [key field value]
hgetall key
set(无序集合)
无序的唯一集合,可用于存储中奖人员名单
集合中出入值 : sadd key member1 member2
查看集合中的值: smembers key
查看集合中是否存在值 : sismember key member
获取集合的长度 : scard key
弹出集合中的某个值 : spop key
Zset(有序集合)
zset类似于 Java 的 SortedSet 和 HashMap 的结合体,一方面是一个 set,保证了内部 value 的唯一性,另一方面它可以给每个 value 赋予一个 score,代表这个 value 的排序权重。它的内部实现用的是一种叫做「跳跃列表」的数据结构。zset最后一个value被移除后,数据结构自动删除,内存被回收。
zadd key score member
zrange key 0 -1
zrevrange key 0 -1
zcard key
获取指定value的score : zscore key member
排名 : zrank key member
根据分值区间遍历 : zrangebyscore key member min max
删除某个value值 : zrem key member
网友评论