redis 小结三-数据类型
redis 的数据类型主要有五种
1. 字符串
一个 key 对应一个 value
该数据类型是二进制的,很安全,可以保存任何数据,设置保存图片和数据对象
一个key 最大可以保存512M大小的value
实例:
结构如下:
2. 哈希
一个键值对集合
一个 string 类型的 field 和 value 的映射表,Hash特别适合用于存储对象
每个 hash 可以存储 232 -1 键值对(40多亿)
实例:
数据结构如下:
哈希类型有点类似一个对象表,该对象表中存该对象的属性(field),及该属性对应的值(value)
3. 列表
Redis 列表是简单的字符串列表,按照插入顺序排序,你可以添加一个元素到列表的头部(左边)或者尾部(右边)
列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)。
实例:
列表结构如下
4.集合
Redis的Set是string类型的无序集合。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
集合中最大的成员数为 232 - 1(4294967295, 每个集合可存储40多亿个成员)。
集合中的值是不重复的,填加集合中已存在的值,是加不进去的
实例:
集合结构如下:
5.有序集合
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员,添加已存在的成员,是加不进去的,操作会失败
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
zset的成员是唯一的,但分数(score)却可以重复。
实例:
结构如下:
关于以上5种数据类型总结一下:
集合和有序集合相同点:不允许出现重复的元素;不同点:(1)有序集合,只要成员名不重复就可以,成员可以有相同的分数;(2)有序集合会根据score的值排序,而集合中元素在插入后在集合中出现的位置的不确定的。
列表和集合比较:从结构上来说,集合插入元素后,元素在集合中所在的位置与插入的顺序无关,而列表lpush的元素出现在列表顶部,rpush的元素出现在列表的底部,列表可以重复插入的已存在的元素,而集合却会失败
最新文章
- Percona XtraBackup 备份原理说明【转】
- 【原】iOS学习之Xcode8关于控制台不打印错误信息
- MVC4做网站后台:栏目管理2、修改栏目
- SQLite的WAL机制
- 解读Unity中的CG编写Shader系列二
- 通过配置的方式Autofac 《第三篇》
- AngularJs学习教程
- Dynamicaly Typed(动态定型), Objective-C Runtime Programming
- 移动H5开发入门知识,CSS的单位汇总与用法
- js通过Date获取日期
- 《精通Linux C编程》1.3Linux系统的常用命令-笔记
- maven学习3,如何创建一个web项目
- MySSL HTTPS 评级 B 升 A+
- Python中的可视化神器:pyecharts
- Python——collections模块(扩展数据类型)
- 缺陷的背后---LIMIT M,N 分页查找
- rails 杂记 - render and layout
- 2018/04/24 PHP 设计模式之注册树模式
- java中的锁之Lock接口与Condition接口
- Nio使用Selector客户端与服务器的通信