✔ String

此类型和 memcache 相似,作为常规的 key-value 缓存应用
应用场景:
○ 例如微博数、粉丝数等。

✔ Hash

redis hash是一个 string 类型的 field 和value 的映射表,hash 特别适合用于存储对象(因为对象可能包含很多属性)
常用命令:hget hset hgetall
常用来存储对象信息:

✔ List(有序)

list 列表是简单的字符串列表,按照插入顺序排序(内部实现为LinkedList),可以选择将一个链表插入到头部或尾部。
常用命令:
○ lpush/rpush:添加左边/右边元素
○ lpop/rpop:移除左边/右边第一个元素
○ lrange:获取列表片段
应用场景:
○ Twitter的关注列表、粉丝列表等
○ 文章的评论列表
○ 分页查询,例如类似微博的下拉不断分页
○ 消息队列:redis的链表结构,可以轻松实现阻塞队列,可以使用左进右出的命令组成来完成队列的设计。

✔ Set(自动去重)

案例:在微博中,可以将一个用户所有的关注人存在一个集合中,将其所有粉丝存在一个集合。Redis还为集合提供了求交集、并集、差集等操作,可以实现 共同关注、共同喜好、二度好友 等功能。对于上面所有集合操作,还可以使用不同命令选择将结果返回给客户端还是存到一个新集合中。

○ 面对面建群

✔ SortedSet(去重且自动排序)

redis sorted set 的内部使用 HashMap 和跳跃表(SkipList)来保证数据的存储和有序,HashMap里放的是成员到 score 的映射,跳跃表按 score 从小到大保存所以集合元素。使用跳跃表的结构可以获得比较高的查找效率,并且在实现上比较简单。时间复杂度和红黑树相同,增加、删除的操作较为简单。

应用场景:
○ 排行榜 :有序集合经典使用场景。例如视频网站需要对用户上传的视频做排行榜,榜单维护可能是多方面 :按照时间、按照播放量、按照获得的赞数等。
○ 用 Sortedset来做带权重的队列,比如普通消息的 score为1,重要消息的score为2,然后工作线程可以选择按score的倒序来获取工作任务,让重要任务优先执行。(微博热搜榜)
○ 班级成绩单

☺ HyperLogLog

• 供不精确的去重计数功能,比较适合用来做大规模数据的去重统计,例如统计UV;

☺ Geospatial

• 可以用来保存地理位置,并作位置举例计算或者根据半径计算位置等。
• 附近的人
• 计算最优地图路径

☺ Pub/Sub:主题订阅模式

可以实现 1:N 的消息队列,但是在消费者下线的情况下,生产的消息会丢失,得使用专业的消息队列如RocketMQ等。

                  

【Redis】redis数据类型及应用场景相关推荐

  1. Redis各个数据类型的使用场景

    Redis各个数据类型的使用场景 Redis支持五种数据类型: string(字符串) hash(哈希) list(列表) set(集合) zset(sorted set:有序集合). Redis列表 ...

  2. Redis五大数据类型与使用场景汇总!!(含完整实战案例,建议收藏)

    本文全面讲述了Redis的五大数据类型和使用场景,含完整实战案例,强烈建议收藏!! 大家好,我是冰河~~ 最近面试跳槽的小伙伴有点多,给我反馈的面试情况更是千差万别,不过很多小伙伴反馈说:面试中的大部 ...

  3. 一文搞定Redis五大数据类型及使用场景

    作者 | 周明尧 来源 | Java旅途(ID:Javatrip) 头图 |  CSDN 下载自东方IC Redis 是一种基于键值对的NoSQL数据库,它的值主要由string(字符串),hash( ...

  4. Redis基本数据类型和使用场景

    本文目录 数据类型 string类型 string基本操作 string类型的扩展操作--解决主键重复的问题 string类型数据的扩展操作--设置时间限制 string数据类型的操作注意事项 str ...

  5. (一)Redis常用数据类型及应用场景(Redis的解决方案汇总)

    文章目录 一.Redis的介绍和安装 1.Redis是什么? 2.性能 3.支持的数据类型 二.数据类型实践案例 (一).String类型 (二).Hash类型(相对套娃) (三).list类型 (四 ...

  6. Redis常用数据类型及使用场景

    String(字符串) 常用命令 SET key value GET key GETRANGE key start end #返回[start, end]区间的字符串,key不存在时返回空字符串 MG ...

  7. Redis基本数据类型、应用场景、操作指令

    目录​​​​​​​ 字符串(String) 类型介绍 应用场景 操作指令 散列(hashes) 类型介绍 应用场景 操作指令 列表(list) 类型介绍 应用场景 操作指令 集合(sets) 类型介绍 ...

  8. 关于redis的几件小事(三)redis的数据类型与使用场景

    1.string 这是最基本的类型了,就是普通的set和get,做简单的kv缓存. 2.hash 这个是类似map的一种结构,这个一般就是可以将结构化的数据,比如一个对象(前提是这个对象没嵌套其他的对 ...

  9. 超强Redis数据类型与应用场景总结!!

    关于Redis 我们先来聊聊Redis的基础知识. 基于键值对的存储系统 :字典形式. 五种数据结构:字符串(String),Hash(字典),列表(List),集合(Set),有序集合(Sorted ...

  10. Redis的数据类型以及每种数据类型的使用场景

    人就是很奇怪的动物,很简单的问题往往大家都容易忽略,当我们在使用分布式缓存Redis的时候,一个最简单的问题往往被人忽略,Redis的数据类型以及每种数据类型的使用场景是什么? 是不是觉得这个问题很基 ...

最新文章

  1. 一篇文章,带你读懂人脸识别技术
  2. flarum论坛如何html,简约个人小清新论坛-Flarum的快速搭建方法
  3. vue实例属性之el,template,render
  4. javaweb中mysql数据库的回滚操作代码
  5. MySQL 面试,必须掌握的 8 大核心点
  6. vue 限制渲染条数_深入理解Vue 的条件渲染和列表渲染
  7. 实现多个输入框的dialog
  8. java在循环中删除数组元素,在循环Perl中删除数组中的元素
  9. 都2020年了,你还认为BI=报表?
  10. [转载] [Python图像处理] 二十二.Python图像傅里叶变换原理及实现
  11. python ssh登录交换机_python使用paramiko模块通过ssh2协议对交换机进行配置的方法...
  12. 云端服务器只能查看文件,云端服务器只能查看文件夹
  13. java 自然常数e中出现的连续的第一个10个数字组成的质数_自然常数-常数e的来历e在很多数学公式中出现的频率比较高今天做导数题时看到 爱问知识人...
  14. RFC2544吞吐量测试详细步骤-Renix软件操作演示
  15. 如何制作SDTM Define- 1. 指导原则
  16. 2021年茶艺师(初级)考试题库及茶艺师(初级)作业考试题库
  17. linux根文件系统 /etc/shadow文件详解
  18. 三千书源——愿成为整理最全的书源合集
  19. 阿里的简历多久可以投递一次?次数多了有没有影响?可以同时进行吗?
  20. 【地图】高德静态地图(页面展示和导出Word)

热门文章

  1. 行测(爆发篇)之语句表达,像说话一样自然
  2. sklearn-preprocessing预处理数据的方法
  3. Vmware workstation 安装解压 vmwaretools 提示只读文件
  4. 包含命名空间的xml反序列化 (1.7环境下)
  5. 【Zepto笔记】Zepto.js
  6. [转]nginx常见配置详解
  7. 走进我的交易室08_有条理的交易者
  8. 搞不明白老板想要看哪种报表,熬夜做到两点也是白费28
  9. 有一列数列,1,11,21,1211,111221,.........,
  10. 帆软报表决策系统重置用户密码插件