文档章节

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

letwang
 letwang
发布于 2015/03/02 15:10
字数 779
阅读 1006
收藏 8
点赞 2
评论 0

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
博文 67
码字总数 76298
作品 0
南京
技术主管
redis (一)数据类型

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

晨武 ⋅ 2015/10/03 ⋅ 0

Redis 基础应用

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

逐梦小涛 ⋅ 2017/03/24 ⋅ 0

Redis入门与实战之一:存储模式和基本命令

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

西瓜很甜哟 ⋅ 01/19 ⋅ 0

Redis 基础数据结构与对象

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

科技小能手 ⋅ 2017/11/12 ⋅ 0

Redis基础笔记 (一)

Redis基础笔记 事务 SORT 生存时间 任务队列 发布/订阅模式 Python中使用Redis 实际实例 管理 其他 1. 字符串类型 2. 散列类型 3. 列表类型 4. 集合类型 5. 有序集合 简介 安装 资源链接 简介...

Airship ⋅ 2016/02/18 ⋅ 0

Redis总结

一、基本概念 redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 特点: Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。 ...

冰-冰 ⋅ 2016/08/30 ⋅ 0

深入了解一下Redis的内存模型!

一前言 Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可或缺的一部分。 我们使用Redis时,会接触Redis的5种对象类型(字符...

Java高级架构 ⋅ 05/31 ⋅ 0

Redis不同数据类型的的数据结构实现

原文:Redis不同数据类型的的数据结构实现 我们知道Redis支持五种数据类型, 分别是字符串、哈希表(map)、列表(list)、集合(set)和有序集合,和Java的集合框架类似,不同数据类型的数据...

杰克.陈 ⋅ 2017/12/19 ⋅ 0

redis中的对象

redis的对象包含5种对象: 字符串对象 列表对象 哈希对象 集合对象 有序集合对象 redis对象的好处 针对不同的使用场景,为对象设置多种不同的数据结构实现,优化对象不同场景下的使用效率. 对象...

BlackChen ⋅ 01/11 ⋅ 0

Redis基础笔记(一)

Redis基础笔记 Redis基础笔记 事务 SORT 生存时间 任务队列 发布/订阅模式 Python中使用Redis 实际实例 管理 其他 1. 字符串类型 2. 散列类型 3. 列表类型 4. 集合类型 5. 有序集合 简介 安装...

Airship ⋅ 2016/01/28 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

知乎Java数据结构

作者:匿名用户 链接:https://www.zhihu.com/question/35947829/answer/66113038 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 感觉知乎上嘲讽题主简...

颖伙虫 ⋅ 今天 ⋅ 0

Confluence 6 恢复一个站点有关使用站点导出为备份的说明

推荐使用生产备份策略。我们推荐你针对你的生产环境中使用的 Confluence 参考 Production Backup Strategy 页面中的内容进行备份和恢复(这个需要你备份你的数据库和 home 目录)。XML 导出备...

honeymose ⋅ 今天 ⋅ 0

JavaScript零基础入门——(九)JavaScript的函数

JavaScript零基础入门——(九)JavaScript的函数 欢迎回到我们的JavaScript零基础入门,上一节课我们了解了有关JS中数组的相关知识点,不知道大家有没有自己去敲一敲,消化一下?这一节课,...

JandenMa ⋅ 今天 ⋅ 0

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 今天 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 今天 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

Linux系统日志

linux 系统日志 /var/log/messages /etc/logrotate.conf 日志切割配置文件 https://my.oschina.net/u/2000675/blog/908189 logrotate 使用详解 dmesg 命令 /var/log/dmesg 日志 last命令,调......

Linux学习笔记 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部