【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】不同数据结构之间的差异及应用场景》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

七周七并发模型

七周七并发模型

Paul Butcher / 黄炎 / 人民邮电出版社 / 2015-3 / 49.00元

借助Java、Go等多种语言的特长,深度剖析所有主流并发编程模型 基于锁和线程的并发模型是目前最常用的一种并发模型,但是并发编程模型不仅仅只有这一种,本书几乎涵盖了目前所有的并发编程模型。了解和熟悉各种并发编程模型,在解决并发问题时会有更多思路。 ——方腾飞,并发编程网站长 当看到这本书的目录时,我就为之一振。它涉及了当今所有的主流并发编程模型(当然也包括Go语言及其实现的CSP......一起来看看 《七周七并发模型》 这本书的介绍吧!

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

在线图片转Base64编码工具

随机密码生成器
随机密码生成器

多种字符组合密码

html转js在线工具
html转js在线工具

html转js在线工具