自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (7)
  • 收藏
  • 关注

原创 redis 事务原理及源码分析

事务原理 * watch命令监控某个key要有事务一致性,当watch的key在事务multi命令执行中被修改后,事务会被终止; * multi命令开始事务,exec命令执行事务命令; * 不管在什么模式下,在一个事务最后加上save命令总可以保证事务的耐久性;aof持久化模式下,appendfsync选项为always时,就有耐久性; 源码分析      ...

2018-09-18 22:09:52 205

原创 redis 过期键删除策略及源码分析

过期键删除策略 * 定时策略:为每个键值设置一个定时器,时间事件到,删除键值,要维护一个时间事件,redis的时间事件是链表,不合适; * 惰性策略:只有get键时才对键进行过期检查,耗内存,expireIfNeeded(); *定期删除:每隔一段时间从一定数量的数据库中取出一定数量的随机键进行检查,并删除其中的过期键,databasecron()--->activeExpireCyc...

2018-09-18 22:01:53 535

原创 redis aof持久化原理及源码分析

原理 * AOF持久化是通过保存redis服务器所执行的写命令来记录数据库状态;被写入AOF文件的所有命令都是以redis命令的请求协议格式保存的,纯文本格式; * aof重写功能:通过对整个数据库状态进行遍历,根据存储对象的不同,构造相应的命令写入重写文件,减少aof文件的大小; * 为了解决,子进程在进行aof重写期间,服务器还继续处理处理命令请求,新命令可能会对现有数据库状态进行修改,...

2018-09-17 23:57:29 301

原创 redis rdb持久化原理及代码源码分析

原理 * save/bgsave命令,bgsave另外fork一个进程,子进程完成后signal父进程,父进程wait3()子进程,服务器能继续处理客户端的命令请求; * aof持久化优先于rdb持久化载入,且rdbload()中为互斥的; * save/bgsave在运行期间是互斥的; * bgrewirteaof和bgsave命令也是互斥的; * 自动间隔性保存:save perio...

2018-09-17 23:54:13 524

原创 redis cluster集群 原理、机制及源码分析

* 需求背景 1、扩展性:单机内存资源有限,要动态地节点扩容、节点缩容; 2、主从、数据备份和容灾; 3、redis是单线程io结构,多核结构的server发挥不到作用; 方案有:client sharding、twemproxy、redis cluster、proxy+redis cluster;----> codis proxy+zookeeper/nginx+redis   ...

2018-09-13 21:53:11 1540

原创 redis 发布/订阅(Pub/Sub) 源码分析

* 背景 发布者和订阅者都是Redis客户端,Channel则为Redis服务器端,发布者将消息发送到某个的频道,订阅了这个频道的订阅者就能接收到这条消息。 Redis的这种发布订阅机制与基于主题的发布订阅类似,Channel相当于主题。 原理图如下: * 命令 psubscribe new.* :匹配模式; publish channel message subscribe c...

2018-08-31 22:32:46 857

原创 redis 复制 replication机制、原理及实现代码分析

* 方案 完全重同步 * slave发送sync命令; *主收到sync命令后执行bgsave命令,后台生成rdb文件,并用一个写缓存区记录从现在开始执行的所有写命令; * 当bgsave执行完毕,master将rdb文件发送给slave,slave接收到这个rdb文件,用rdb更新数据库; * master把写缓冲区的所有写命令发送给slave;slave执行这些命令,将自己的数据库状...

2018-08-31 22:14:26 1155

原创 redis Sentinel机制、原理及代码分析

* 需求背景     有多个或一个sentinel实例组成的sentinel系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并且在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器代替已下线的主服务器继续处理命令请求。   * sentinel监控分布式系统的功能和需求     @服务器状态-主服务器上线下线监控...

2018-08-31 21:53:17 631

原创 redis源码阅读:事件处理流程及源码分析

   本文详细介绍了redis源码的事件处理流程。 一、涉及的类图如下:   二、主要的结构体如下 /* State of an event based program */ typedef struct aeEventLoop { int maxfd; /* highest file descriptor currently registered */ int ...

2018-08-17 22:09:19 481

cppunit在visual studio2010编译成功

自己测试编译成功。src\msvc6\testrunner\MsDevCallerListCtrl.cpp 中version("7.0")改为version("1.0")

2017-07-23

ARM嵌入式系统开发:软件设计与优化.pdf

本书介绍了arm内核相关知识,对arm汇编编程很有帮助。

2017-07-23

深入理解Linux虚拟内存管理 (爱尔兰)戈尔

本书讲解了深入理解Linux虚拟内存管理,非常实用,可惜已经绝版了。对要了解linux mmu的具有很好的参考价值。

2015-02-12

软件调试的艺术

本书详细介绍了gdb,ddd,eclips调试技巧,更可贵的是过程非常详尽,值得要了解调试技巧特别是gdb调试的阅读。

2015-02-12

天祥ARM9视频TX2440A开发板原理图

天祥ARM9视频TX2440A开发板原理图

2012-07-16

Cortex-M3权威指南

《ARM Cortex-M3权威指南》重点介绍了新的ARM架构、指令集的总结、硬件特性以及调试系统的概览,是学习以ARM cortex为内核的单片机极具参考价值的资料

2012-07-09

IIC时钟芯片PCF8583 与LCD1602的汇编程序

这是在我的ATMEL89S52单片机板上调试成功的程序,里面有基于IIC总线的时钟芯片PCF8583时序汇编程序,为了显示的需要还包含了LCD1602汇编程序,希望对大家有所帮助

2009-07-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除