前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis数据结构

Redis数据结构

原创
作者头像
Action
修改2021-06-15 18:00:23
2680
修改2021-06-15 18:00:23
举报
文章被收录于专栏:WEB开发~WEB开发~

五种结构

  1. String:字符串
  2. List:列表
  3. Set:集合
  4. SortedSet:有序集合
  5. Hash:哈希字典

字符串

通过 SET 命令设置

通过 GET 命令获取

通过额外的参数 EX 来设置有效期

计数功能 INCR/INCRBY DECR/DECRBY

每次调用 INCR 指令会将对应的键值 +1

默认步长是 1,可以通过INCRBY设置步长。

DECR/DECRBY 指令,即对给定键值做 -1 操作或者做给定步长的减少操作

列表

我们可以将元素添加到列表(支持从头部添加也支持从尾部添加),也可以从列表中移除并获取某个元素(支持从头部移除也支持从尾部移除),还可以读取整个列表的元素。

RPUSH 指令推送数据到队列末尾

LPUSH 指令推送数据到队列头部

LPOP 指令从队列头部移除并获取元素,遵循先进先出的原则

集合

与集合不同,列表可以包含重复元素,列表内的元素顺序也和添加时的顺序一致。

Redis 集合中所有元素都是互异的,即任意一个元素都是唯一的

添加两个相同的元素时,第二次返回的是0,表示失败。通过 SMEMBERS  列举时,也只有一个元素。

另外,Redis 集合具备无序性,所以当你向 love 集合添加多个元素时,返回的结果和添加时的排序并不一致:

当业务场景需要对集合数据做去重处理而又不需要确保数据顺序时,Redis 集合是个不错的选择。

有序集合

有序集合就是在集合的基础上让内部元素有确定的排序,不过这个排序不是按照添加时的顺序,而是通过额外的排序字段值指定。

和 LRANGE 指令一样,最后面的两个数字表示集合区间,前面是起始位置,后面是结束位置,-1 表示集合末尾索引值。

ZREVRANGE 指令返回基于排序字段的倒序排序结果:

还可以通过 WITHSCORES 选项在返回结果中包含排序字段值:

显然,有序集合非常适用于 Web 应用的一些排行榜功能,比如热门阅读、热门讨论等。

哈希字典

Redis hash 是一个 string 类型的 field(字段) 和 value(值) 的映射表,hash 特别适合用于存储对象。Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 五种结构
  • 字符串
  • 列表
  • 集合
  • 有序集合
  • 哈希字典
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档