摘要: Rdis和JQuery一样是纯粹为应用而产生的,这里记录的是在CentOS 5.7上学习入门文章:1.Redis简介 Redis是 一个key-value存储系统。和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和 string外,还支持lists(链表)、sets(集合)和zsets(有序集合)几种数据类型。这些数据类型都支持push/pop、add /remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。2.Redis的性能下面是官方的bench-mark数据:The test was done with 50 sim 阅读全文
posted @ 2013-07-29 00:09 暗痛 阅读(257) 评论(0) 推荐(0)
摘要: Redis复制流程概述Redis的复制功能是完全建立在之前我们讨论过的基于内存快照的持久化策略基础上的,也就是说无论你的持久化策略选择的是什么,只要用到了 Redis的复制功能,就一定会有内存快照发生,那么首先要注意你的系统内存容量规划,原因可以参考我上一篇文章中提到的Redis磁盘IO问题。Redis复制流程在Slave和Master端各自是一套状态机流转,涉及的状态信息是:Slave 端:REDIS_REPL_NONEREDIS_REPL_CONNECTREDIS_REPL_CONNECTED Master端:REDIS_REPL_WAIT_BGSAVE_STARTREDIS_REPL_W 阅读全文
posted @ 2013-07-29 00:06 暗痛 阅读(271) 评论(0) 推荐(0)
摘要: 1 Redis 内存存储结构本文是基于 Redis-v2.2.4 版本进行分析.1.1 Redis 内存存储总体结构Redis 是支持多key-value数据库(表)的,并用 RedisDb 来表示一个key-value数据库(表). redisServer 中有一个 redisDb *db; 成员变量, RedisServer 在初始化时,会根据配置文件的 db 数量来创建一个 redisDb 数组. 客户端在连接后,通过 SELECT 指令来选择一个 reidsDb,如果不指定,则缺省是redisDb数组的第1个(即下标是 0 ) redisDb. 一个客户端在选择 redisDb 后,其 阅读全文
posted @ 2013-07-29 00:04 暗痛 阅读(349) 评论(0) 推荐(0)
摘要: Redis常用数据类型Redis最为常用的数据类型主要有以下五种:StringHashListSetSorted set在具体描述这几种数据类型之前,我们先通过一张图了解下Redis内部内存管理中是如何描述这些不同数据类型的:首先Redis内部使用一个redisObject对象来表示所有的key和value,redisObject最主要的信息如上图所示:type 代表一个value对象具体是何种数据类型,encoding是不同数据类型在redis内部的存储方式,比如:type=string代表value存 储的是一个普通字符串,那么对应的encoding可以是raw或者是int,如果是int则 阅读全文
posted @ 2013-07-29 00:02 暗痛 阅读(298) 评论(0) 推荐(0)
摘要: 传统MySQL+ Memcached架构遇到的问题实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。Memcached与MySQL数据库数据一致性问题。Memcached数据命中率低或down机,大量访问直接穿透到DB,MySQL无法支撑。跨机房cache同步问题。众多NoSQL百花齐放,如何选择最近几年,业界不断涌现出很多各种各样的NoSQL产品 阅读全文
posted @ 2013-07-29 00:01 暗痛 阅读(284) 评论(0) 推荐(0)