🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
String(字符串类型)String数据结构是简单的key-value类型,value其实不仅可以是String,也可以是数字。 常规key-value缓存应用; 常规计数:微博数,粉丝数等。 常用命令: set,get,incr,decr,mget 等:set key value 设置值、 get key 获取值、 incr key 加一、 decr key 减一 ​ hash(哈希) Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象,后续操作的时候,你可以直接仅仅修改这个对象中的某个字段的值。 常用命令: set,get,decr,incr,mget 等: hset key field value 设置值 hget key field 获取值 hincrby key field num 设置增数量 list(列表) Redis list 的实现为一个双向链表,即可以支持反向查找和遍历,更方便操作,不过带来了部分额外的内存开销。 Redis list 的应用场景非常多,也是Redis最重要的数据结构之一,比如微博的关注列表,粉丝列表,消息列表等功能都可以用Redis的 list 结构来实现。 可以通过 lrange 命令,就是从某个元素开始读取多少个元素,可以基于 list 实现分页查询,这个很棒的一个功能,基于 redis 实现简单的高性能分页,可以做类似微博那种下拉不断分页的东西(一页一页的往下走),性能高。 常用命令: lpush,rpush,lpop,rpop,lrange等: lpush list a b c d (从list左边添加元素)、 rpush list 1 2 3 4 (从list右边添加元素) lrange list 0 -1(从0 到 -1 元素查看:也就表示查看所有) lpop list (从list左边取,删除)、 rpop list (从list右边取,删除) set(集合) Redis的Set是string类型的无序集合。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 常用命令: sadd,spop,smembers,sunion 等: sadd set1 a b c d d (向set1中添加元素) 元素不重复 smembers set1(查询元素)、 srem set1 a(删除元素) sorted set(zset,有序集合) 和set相比,sorted set增加了一个权重参数score,使得集合中的元素能够按score进行有序排列。 例:在直播系统中,实时排行信息包含直播间在线用户列表,各种礼物排行榜,弹幕消息(可以理解为按消息维度的消息排行榜)等信息,适合使用 Redis 中的 Sorted Set 结构进行存储。 常用命令: zadd,zrange,zrem,zcard等: zadd zset1 1 a 2 b 3 c (添加元素 zadd key score member,这里添加元素a:1分、元素b:2分、元素c:3分 ) zrange zset1 0 -1 (查看zset1的所有元素,默认从小到大) zrange zset1 0 -1 withscores (查看zset1的所有元素,包括分数score) zrevrange zset1 0 -1 (查看zset1的所有元素,从大到小) zincrby zset1 5 a (对zset1的a元素增加5分) - - - - - -