文档章节

Redis 数据类型分析 字符串 哈希 列表 集合 有序集合 优缺点 分析 注意事项 存储结构

letwang
 letwang
发布于 2015/03/02 15:10
字数 779
阅读 1024
收藏 8

Redis 基础知识问答 Redis 数据类型介绍

提高Redis使用性能秘诀

  1. KEY尽量少的原则,能放在1个KEY的就放入1个KEY,KEY开销很大
  2. 尽量减少与Redis发生的交互次数,能批量的就批量,能事务、管道的就事务、管道
  3. 从业务架构分析确定使用哪种数据类型,从全局出发,如果类型选错了再改变就很不容易
  4. 使用每一个Redis命令注意是O(1),还是O(N),切记滥用,认准每个命令的特性再使用也不迟
  5. 使用PHP Redis的C语言扩展,性能远远高于PHP脚本编写的文件
  6. 时刻清醒你往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

© 著作权归作者所有

共有 人打赏支持
letwang
粉丝 140
博文 66
码字总数 74230
作品 0
南京
技术主管
Redis 基础应用

Redis 基础应用(一) ============================================================================== 概述: Redis的相关介绍,功能,优势及于其他key-value数据库的对比; Redis的安装及...

逐梦小涛
2017/03/24
0
0
redis (一)数据类型

redis作为一款开源的高性能key-value 存储系统,是web开发中常被用来缓存数据的一种常见技术。 redis是key-value 存储系统,通常被称为数据结构服务器。值(value)可以是 字符串(string),...

晨武
2015/10/03
167
0
Redis入门与实战之一:存储模式和基本命令

少量数据存储、高速读写访问是Redis最主要的应用场景。 由表可以看出TRDB应用业务范围最广,MongoDB组要应用于互联网的web业务应用,而Redis只能解决Internet应用环境下的特定应用业务。虽然...

西瓜很甜哟
01/19
0
0
Redis 基础数据结构与对象

Redis用到的底层数据结构有:简单动态字符串、双端链表、字典、压缩列表、整数集合、跳跃表等,Redis并没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统...

科技小能手
2017/11/12
0
0
Redis从入门到放弃 之 常用命令和基本数据类型操作

一、Redis通用命令 二、基本数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合) 1、string字符串 2、hash(哈希) ...

李格尔楞
2017/11/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

获取多个集合列表的笛卡尔积

获取多个集合笛卡尔积 电商中典型业务场景:商品搜索 单属性属性值之间为并查询 不同属性的属性值之间查询为与查询 import java.util.ArrayList;import java.util.List;/** * Created w...

键走偏锋
13分钟前
0
0
echarts 迁移地图 控制鼠标缩放大小比例

在网上找了好久没有找到解决方式,还是重新看了一下文档,终于找到的解决方案, zoom:1, //默认显示级别 scaleLimit:{min:1,max:3}, // 缩放级别 echarts 文档-配置项链接 http://echarts.b...

心驰
16分钟前
0
0
Boot2Docker ISO is out-of-date,

Boot2Docker ISO is out-of-date, downloading the latest release. 使用docker-machine时无法更新Boot2Docker ISO导致创建vm machine失败 解决方法:关闭网络,创建好之后再开启...

writeademo
24分钟前
0
0
在 Tomcat 中设置 Tapestry 框架的 html 热加载

如果开发中使用到了 Tapestry 这个框架,如果事先没有设置过的话,开发的时候 html 是不会热加载的,也就是说修改了 html 文件,不能刷新浏览器后立马看到修改完的效果,必须先重新启动应用服...

LeoXu
46分钟前
0
0
【微服务】开启巨石应用到微服务的探索

背景 在过去的一年时间里,我一直在从事一件事情,将现有的单体应用(巨石应用)向微服务改造。 接下来,将持续整理一些在微服务路上的学习与成长。 为什么要做微服务 单体应用,开发、部署简...

艳沐石
56分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部