Redis 数据类型分析 字符串 哈希 列表 集合 有序集合 优缺点 分析 注意事项 存储结构
2015-03-02 15:10
1261 查看
Redis 基础知识问答 Redis 数据类型介绍
尽量减少与Redis发生的交互次数,能批量的就批量,能事务、管道的就事务、管道
从业务架构分析确定使用哪种数据类型,从全局出发,如果类型选错了再改变就很不容易
使用每一个Redis命令注意是O(1),还是O(N),切记滥用,认准每个命令的特性再使用也不迟
使用PHP Redis的C语言扩展,性能远远高于PHP脚本编写的文件
时刻清醒你往Redis里存储了什么,频繁交互、相对静态的小数据存储至Redis是理想的,300万用户所有不常用的信息都无脑塞进去不但浪费内存(有可能服务器128G内存不够用必须要老大花钱买内存),还影响Redis性能,增大管理成本
提高Redis使用性能秘诀
KEY尽量少的原则,能放在1个KEY的就放入1个KEY,KEY开销很大尽量减少与Redis发生的交互次数,能批量的就批量,能事务、管道的就事务、管道
从业务架构分析确定使用哪种数据类型,从全局出发,如果类型选错了再改变就很不容易
使用每一个Redis命令注意是O(1),还是O(N),切记滥用,认准每个命令的特性再使用也不迟
使用PHP Redis的C语言扩展,性能远远高于PHP脚本编写的文件
时刻清醒你往Redis里存储了什么,频繁交互、相对静态的小数据存储至Redis是理想的,300万用户所有不常用的信息都无脑塞进去不但浪费内存(有可能服务器128G内存不够用必须要老大花钱买内存),还影响Redis性能,增大管理成本
Redis各大类型特性注意事项一览表
字符串(Strings) | 哈希(Hashes) | 列表(Lists) | 集合(Sets) | 有序集合(Sorted sets) |
---|---|---|---|---|
512MB/Value | 4294967295/Hash | 4294967295/List | 4294967295/Set | 4294967295/Stored |
Key【唯一】 Value【重复】 | Key【唯一】 Hash key【唯一】 Value【重复】 | Key【唯一】 Index【唯一】 Value【重复】 | Key【唯一】 Value【唯一】 | Key【唯一】 Score【重复】 Value【唯一】 |
无序 | key无序 Hash key按先后进入顺序有序 | key无序 Index按先后进入顺序有序 | key无序 Value无序 | key无序 按Score值排序有序 |
简单存储,持久化的memcached,计数器、灵活操作字符串 | Json KV结构,单表存储,缓存,对象存储 | 队列系统,时间轴系统设计,显示极端数据,先进先出,后进后出 | 以key为班级,Value老师,可以求出不同班级中老师的交集、并集 | 以key为班级,Score为分数,Value为学生的考试成绩排行榜报表等分组统计功能 |
最原始的缓存系统,性能高,任意1个的性能O(1) | 类似关系型数据库操作,性能高,任意1个的性能O(1) | 操作首尾数据,统计长度很快O(1),中间数据操作性能不高O(N) | 类似数组下标访问元素,添加,删除,查找任意1个的复杂度都是O(1) | Sets升级版,有分组+统计等功能,添加,删除,查找任意1个的复杂度都是O(log(1)) |
简单的数据交互 | 简单的数据交互 | 简单的数据交互 | 支持服务端数据运算 | 支持服务端数据运算 |
注意
phpRedisAdmin里面显示的顺序有BUG,显示结果排序与redis-cli命令里面的排序顺序并不完全一致,生产环境应以redis-cli为准(Redis version:3.0.7)相关文章推荐
- Redis 小白指南(二)- 聊聊五大类型:字符串、散列、列表、集合和有序集合
- Redis-数据结构(有序字符串集合sorted set)
- Redis 小白指南(二)- 聊聊五大类型:字符串、散列、列表、集合和有序集合
- Redis源码解析(四):redis之数据类型哈希表、列表、集合和有序集合
- 源码分析redis的有序集合,学习skiplist跳跃表数据结构
- redis学习(七)——五大数据类型总结:字符串、散列、列表、集合和有序集合
- redis学习(七)——五大数据类型总结:字符串、散列、列表、集合和有序集合
- 基本数据类型-集合(set)_上周内容回顾(字符串_数字_列表_元组_字典_集合)
- redis源码分析笔记2- redis的数据类型-动态字符串sds
- python基础数据结构——列表(list), 元祖(tuple), 字典(dict), 字符串(string), 集合(set) 介绍及相互转换
- redis数据类型(五)有序集合类型
- Python【基础:数据类型和变量 字符串和编码 list和tuple 条件判断 循环 dict和set】注意事项(与java,c比较)
- redis中的数据类型及存储结构
- Redis笔记7:数据类型之有序集合(sorted set)
- Redis数据类型之有序集合类型--Redis系列六
- 执行字符串SQL语句--带有参数的存储过程以及 int类型的字符串变量注意事项
- Redis有序集合数据类型操作命令
- Redis和nosql简介,api调用;Redis数据功能(String类型的数据处理);List数据结构(及Java调用处理);Hash数据结构;Set数据结构功能;sortedSet(有序集合)数
- redis中有序集合类型和列表类型的不同点与相同点
- Redis有序集合数据类型操作命令