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【唯一】
Value【唯一】
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))
 简单的数据交互  简单的数据交互  简单的数据交互  支持服务端数据运算  支持服务端数据运算
posted @ 2017-08-25 09:38  桔子木木  阅读(812)  评论(0编辑  收藏  举报