不为难自己,迟早会委屈自己!
  2016年12月7日
摘要: 发布与订阅 redis订阅分为精准的频道订阅与模糊匹配的模式订阅; redis将所有频道的订阅关系都保存在服务器状态pubsub_channels字典里,键是频道名,值是一个记录所有订阅此频道的客户端链表,退订则是从此链表中删除客户端,如果删除后链表为空,则在字典中删除此键; 所有模式订阅关系都保存 阅读全文
posted @ 2016-12-07 18:50 Dimmacro 阅读(647) 评论(0) 推荐(0) 编辑
摘要: 主从 从机使用slaveof 命令来复制主机的缓存数据,包括同步sync与命令传播两个操作; 从机同步sync命令给主机,主机收到后执行需要耗费大量cpu、内存和磁盘IO资源的bgsave命令来生成rdb文件,并发送给从服务器,期间会耗费大量网络资源,因此,同步的代价是很大的; 从机载入rdb文件后 阅读全文
posted @ 2016-12-07 18:48 Dimmacro 阅读(595) 评论(0) 推荐(0) 编辑
摘要: 事件 redis服务器是事件驱动的,事件分为文件事件与时间事件 文件事件是服务器通过套接字与客户端连接,两者之间的通信会产生相应的文件事件,服务器监听并处理这些事件完成网络操作; 时间事件是指redis服务器的定时操作 redis基于reactor模式的文件事件处理器以单线程方式运行,并使用I/O多 阅读全文
posted @ 2016-12-07 18:45 Dimmacro 阅读(999) 评论(1) 推荐(0) 编辑
摘要: redis数据库 默认16个数据库,每个数据库由一个redis.h/redisDb结构表示,此结构里的dict字典与expires字典,其中dict保存了该库所有键值对,此字典即为键空间;expires字典保存了数据库中所有键的过期时间,该字典的键为指向键空间中的某键对象,值为long long 类 阅读全文
posted @ 2016-12-07 18:43 Dimmacro 阅读(1003) 评论(0) 推荐(2) 编辑
  2016年11月7日
摘要: 我们知道redis可以存储字符串、列表、哈希对象、集合、有序集合等五种对象类型,但是在redis内部,根据不同对象类型的数据特点,有对应的数据结构作为其底层的存储结构,而且即使是同一对象类型,当数据量或数据大小不同时,为了提供更好的性能及减少内存使用率,也会切换不同的底层数据结构。因此了解这些底层数据结构对我们深入了解redis分布式缓存有非常重要的帮助。 阅读全文
posted @ 2016-11-07 18:35 Dimmacro 阅读(2120) 评论(0) 推荐(0) 编辑
  2016年10月21日
摘要: 从需求到架构设计是每个架构师的基本功,不同的大师有自己的理论体系,《软件架构设计-程序员向架构师转型必备》这本书描述的是温昱先生的理论,通过翻阅这篇文章,也许可以领略到一些这部书的精华。 阅读全文
posted @ 2016-10-21 18:50 Dimmacro 阅读(4504) 评论(1) 推荐(4) 编辑
  2016年10月8日
摘要: Grady Booch说:“所有架构都是设计,但并非所有的设计都是架构”。架构设计从来都是检验一个架构师能力的标尺,也被认为是一个化腐朽为神奇的过程。那么面对一个具体的系统,一块具体的业务,我们到底如何来进行架构设计,为系统开发做出指引?这是这篇文章试图回答的问题,希望有志成为架构师的你不会错过。 阅读全文
posted @ 2016-10-08 11:41 Dimmacro 阅读(14713) 评论(5) 推荐(8) 编辑
  2016年6月7日
摘要: tomcat访问日志扩展 阅读全文
posted @ 2016-06-07 11:49 Dimmacro 阅读(5282) 评论(0) 推荐(1) 编辑
  2016年5月27日
摘要: tomcat7运行日志catalina.out由log4j2接管 阅读全文
posted @ 2016-05-27 11:44 Dimmacro 阅读(6195) 评论(0) 推荐(0) 编辑
  2016年4月20日
摘要: session国际化引起的full gc 及修复方法过程介绍 阅读全文
posted @ 2016-04-20 12:42 Dimmacro 阅读(1292) 评论(1) 推荐(0) 编辑