【Redis】不同数据结构之间的差异及应用场景

栏目: 数据库 · 发布时间: 5年前

内容简介:Redis支持五种数据类型。string(字符串),list(列表),set(集合),hash(哈希),及zset(sorted set:有序集合)。字符串类型是Redis中最为基础的数据存储类型,是一个由字节组成的序列,是标准的key/value,一般来存字符串,整数和浮点数。

Redis支持五种数据类型。

string(字符串),list(列表),set(集合),hash(哈希),及zset(sorted set:有序集合)。

String 字符串

【Redis】不同数据结构之间的差异及应用场景

简介:

字符串类型是 Redis 中最为基础的数据存储类型,是一个由字节组成的序列,是标准的key/value,一般来存字符串,整数和浮点数。

特性:

可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存储512M。

应用场景:

在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如jpeg图像数据、json对象描述信息等。

List 列表

【Redis】不同数据结构之间的差异及应用场景
简介:

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部或者尾部。

特点:

1、有序、可以重复。

2、是链表结构,所以向列表两端添加元素的时间复杂度为0(1),增删快。

3、提供了操作某一段元素的API。

应用场景:

1、最新消息排行榜,比如朋友圈的时间线、App内消息通知。

2、消息队列,以完成多程序之间的消息交换。可以用push操作将任务存在list中,然后线程在用pop操作将任务取出进行执行。

Set 集合

【Redis】不同数据结构之间的差异及应用场景

简介:

Redis 的 Set 是 String 类型的无序集合,和List一样是简单的字符串列表。

特点:

1、无序,不可重复的。

2、为集合提供了求交集、并集、差集等操作。

3、集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。

应用场景:

1、共同好友。【取交集】

2、统计访问网站的所有独立ip。【元素不可以重复】

3、好友推荐时,根据tag求交集,大于某个阈值就可以推荐。

Hash 哈希

【Redis】不同数据结构之间的差异及应用场景

简介:

Redis中的Hash散列可以看成具有String key和String value的map容器,可以将多个key-value存储到一个key中。

特点:

适合存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值。【Memcached中需要取出整个字符串反序列化成对象修改完再序列化存回去】。

应用场景:

存储、读取、修改用户属性。

Sort-Set 有序集合

【Redis】不同数据结构之间的差异及应用场景

简介:

Redis 有序集合和集合一样也是string类型元素的集合。将Set中的元素增加一个权重参数score,元素按score有序排列。

特点:

1、每个元素都会关联一个double类型的分数,数据插入集合时,已经进行天然排序。

2、有序集合的成员是唯一的,但分数是(score)可以重复的。

3、集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。

应用场景:

1、排行榜 。

2、带权重的消息队列。


以上所述就是小编给大家介绍的《【Redis】不同数据结构之间的差异及应用场景》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

从“为什么”开始

从“为什么”开始

[美] 西蒙·斯涅克 / 苏西 / 海天出版社 / 2011-7 / 32.00元

影响人类的行为:要么靠操纵,要么靠感召。 操纵带来的是交易,是短期效益; 感召带来的是信任,是永续经营! 盖茨走后,微软面临怎样的挑战?后盖茨时代,微软为何从一个希望改变世界的公司沦落为一个做软件的公司? 沃尔玛的灵魂人物过世后,一度被人们热爱的公司,遭到的竟然多是顾客、员工的反感?沃尔玛要怎样做才能重放昔日光彩? 星巴克吸引人们购买的不是咖啡,而是理念?为什么说霍华......一起来看看 《从“为什么”开始》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具