内容简介:Redis支持五种数据类型。string(字符串),list(列表),set(集合),hash(哈希),及zset(sorted set:有序集合)。字符串类型是Redis中最为基础的数据存储类型,是一个由字节组成的序列,是标准的key/value,一般来存字符串,整数和浮点数。
Redis支持五种数据类型。
string(字符串),list(列表),set(集合),hash(哈希),及zset(sorted set:有序集合)。
String 字符串
简介:
字符串类型是 Redis 中最为基础的数据存储类型,是一个由字节组成的序列,是标准的key/value,一般来存字符串,整数和浮点数。
特性:
可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存储512M。
应用场景:
在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如jpeg图像数据、json对象描述信息等。
List 列表
简介:Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部或者尾部。
特点:
1、有序、可以重复。
2、是链表结构,所以向列表两端添加元素的时间复杂度为0(1),增删快。
3、提供了操作某一段元素的API。
应用场景:
1、最新消息排行榜,比如朋友圈的时间线、App内消息通知。
2、消息队列,以完成多程序之间的消息交换。可以用push操作将任务存在list中,然后线程在用pop操作将任务取出进行执行。
Set 集合
简介:
Redis 的 Set 是 String 类型的无序集合,和List一样是简单的字符串列表。
特点:
1、无序,不可重复的。
2、为集合提供了求交集、并集、差集等操作。
3、集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
应用场景:
1、共同好友。【取交集】
2、统计访问网站的所有独立ip。【元素不可以重复】
3、好友推荐时,根据tag求交集,大于某个阈值就可以推荐。
Hash 哈希
简介:
Redis中的Hash散列可以看成具有String key和String value的map容器,可以将多个key-value存储到一个key中。
特点:
适合存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值。【Memcached中需要取出整个字符串反序列化成对象修改完再序列化存回去】。
应用场景:
存储、读取、修改用户属性。
Sort-Set 有序集合
简介:
Redis 有序集合和集合一样也是string类型元素的集合。将Set中的元素增加一个权重参数score,元素按score有序排列。
特点:
1、每个元素都会关联一个double类型的分数,数据插入集合时,已经进行天然排序。
2、有序集合的成员是唯一的,但分数是(score)可以重复的。
3、集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
应用场景:
1、排行榜 。
2、带权重的消息队列。
以上所述就是小编给大家介绍的《【Redis】不同数据结构之间的差异及应用场景》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- redis五种数据结构及使用场景
- 数据结构 – 用于构建文件系统的数据结构?
- 荐 用Python解决数据结构与算法问题(三):线性数据结构之栈
- 数据库索引背后的数据结构
- 基础数据结构及js数据存储
- R中数据结构与数据的输入
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。