美文网首页程序员
搞懂Redis(一):Redis的定义及五大基本类型

搞懂Redis(一):Redis的定义及五大基本类型

作者: 高19 | 来源:发表于2022-04-08 17:05 被阅读0次

原文:一文搞懂Redis

什么是NoSQL

NoSQL = not only sql (不仅仅是SQL)

Redis

redis是什么?

Redis = Remote Dictionary Server,即远程字典服务
开源、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API
Redis可周期性将更新的数据写入磁盘或修改操作写入记录文件,并在此基础上实现master-slave(主-从)同步

Redis五大基本类型

1、String(字符串)

最大能存储512M

应用场景

  • 缓存 配合其他数据库的存储层。支持高并发特点,可加快读写速度,降低数据库压力
  • 计数器 做实时计数器,可快速实现计数和查询功能,结果可转存其他数据库
  • 统计多单位的数据, 例:uid:gongming count:0 根据不同的uid更新count数量
  • 共享用户session 保证用户session的更新和获取都可快速完成,大大提高效率

2、 List(列表)

存储多个有序的字符串,每个字符看成一个元素
支持插入2^32-1个元素
可从两端进行插入(push)和弹出(pop),支持读取指定范围元素
也可读取下标元素

应用场景

  • 消息队列 redis的链表结构,可以实现阻塞队列。使用左进右出的命令来完成队列的设计。
    例:数据的生产者可以通过Lpush命令从左边插入数据,多个数据消费者,可以使用BRpop命令阻塞的“抢”列表尾部的数据
  • 文章列表或数据分页展示的应用。
    例:博客文章列表,可用redis获取有序且按照范围内的元素,可解决文章分页查询功能。

3、Set(集合)

类似list,可以存储多个字符串元素的集合
set不允许重复的元素,没有顺序,不存在元素下标
支持集合内的增删改查,支持多个集合间的交集、并集、差集操作。

应用场景

  • 标签:用兴趣标签把他们进行归并
  • 共同好友、共同喜好或者引申到二度好友之类的拓展应用
  • 统计网站的独立IP,利用set集合当中元素不唯一行,可以快速实时统计访问网站的独立IP
数据结构

set的底层结构相对复杂些,使用intset和hashset

4、 sorted set(有序集合)

是集合类型的一部分,不能重复,但有序集合给每个元素多设置了一个分数

该分数可作为排序的依据

应用场景

  • 排行榜:有序集合经典使用场景。 例:视频网站的用户上传排行榜,按照时间、播放量、赞等
  • 带权重的队列 例 普通消息的score为1,重要消息的score为2。工作线程可按score的倒序来获取工作任务,让重要的先执行。

5、 Hash(哈希)

hash数据结构是一个键值对(key-value)集合,它是一个string类型的field和value的映射表,redis本身就是一个key-value型数据库,因此hash数据结构特别适合存储关系型对象

应用场景

  • 存储关系型数据库中表记录。 一条记录作为一个key-value,把每列属性值对应为field-value存储在哈希表中,通过key值来区分表当中的主键
  • 存储用户相关信息。 优化用户信息的获取,不需要重复从数据库当中读取,提高系统性能。

相关文章

网友评论

    本文标题:搞懂Redis(一):Redis的定义及五大基本类型

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