美文网首页初见简友广场
redis学习之基础数据结构

redis学习之基础数据结构

作者: 想要时光机 | 来源:发表于2020-06-13 20:34 被阅读0次

  不积跬步,无以至千里,千里之行,始于足下。虽然基础不难,学习时也不知道会用在什么地方,但是还是要学的。

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

相关文章

网友评论

    本文标题:redis学习之基础数据结构

    本文链接:https://www.haomeiwen.com/subject/oojunctx.html