IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> redies数据类型及应用场景 -> 正文阅读

[大数据]redies数据类型及应用场景

Redis支持5中数据类型:string(字符串),hash(哈希),list(列表),set(集合),zset(有序集合)

string:

string类型是redis最基本的类型,一个key对应于一个value,并且是二进制安全的,即可以包含任何数据,包括图片或者序列化的对象(突然想起Python的PIL中的Image模块,可以直接将图片转化为二进制文件)。string的一个键最大可以存储512MB。

应用场景:

应用广泛,几乎都用

hash:

hash是一个键值(key=>value)对集合,是string类型的field和value的映射表,适合用于存储对象,较之每个字段都存储为string更节省内存。

应用场景:

??假设有多个用户及对应的用户信息,可以用来存储以用户ID为key,将用户信息序列化为比如json格式做为value进行保存。

list:

Redis列表是简单的字符串列表,可以类比到C++中的std::list,简单的说就是一个链表或者说是一个队列。可以从头部或尾部向Redis列表添加元素,按照插入顺序进行排序。列表的最大长度为2^32 - 1,也即每个列表支持超过40亿个元素。

应用场景:

Redis list的应用场景非常多,也是Redis最重要的数据结构之一,比如

微博的关注列表、粉丝列表等都可以用Redis的list结构来实现,再比如有的应用使用Redis的list类型

实现一个简单的轻量级消息队列,生产者push,消费者pop/bpop

set:

set是string类型的无序集合,通过哈希表实现,所以添加、删除、查找的复杂度都是O(1)。使用sadd命令添加一个元素到对应集合中,成功返回1,如果已经存在返回0,对应的集合不存在则返回错误。

应用场景:

当需要存储一个列表数据,又不希望出现重复数据时,set是一个很好的选择,并且set提供了判断某个成员是否在一个set集合内的重要接口,这个也是list所不能提供的。又或者在微博应用中,每个用户关注的人存在一个集合中,就很容易实现

求两个人的共同好友功能。

zset:

zset是string类型元素的集合,且不允许重复的成员,每个元素都会关联一个double类型的分数,通过分数为成员进行从小到大的排序,成员不可以重读,但分数可以重复。

应用场景:

当需要一个有序的并且不重复的集合列表,那么可以选择sorted set数据结构,比如twitter 的public timeline可以以发表时间作为score来存储,这样获取时就是自动按时间排好序的。又比如

用户的积分排行榜需求就可以通过有序集合实现。还有上面介绍的使用List实现轻量级的消息队列,其实也可以通过Sorted Set实现有优先级或按权重的队列。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-03-17 22:14:33  更:2022-03-17 22:17:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:46:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码