摘要: 这个系列minix3是好早看的源码 现在都忘记的差不多了 觉得就此扔掉可惜了 今天把他全部放在博客上 1 是想和大家一起讨论下 2 是没事看看 能够加强对一个稳定性系统的理解 加厚 阅读全文
posted @ 2014-08-22 14:47 fuck_shit 阅读(432) 评论(0) 推荐(0) 编辑
摘要: 有这样一个需求,插入数据库之前需要了解数据库ID号,考虑到不同的主机怎么去协同这个ID呢 同时要保证每个主机分到不同的ID号,这个比较麻烦,如果独立开一个服务来一个C/S操作比较麻烦,幸好REDIS提供了这样一个操作,原子INCR.也就是在不同的主机节点去请求服务器,服务器能够同时封装2个事... 阅读全文
posted @ 2014-09-04 15:13 fuck_shit 阅读(2187) 评论(0) 推荐(0) 编辑
摘要: 解决的问题 文件总量太大 一台服务器无法存放 只能放在网络集群中分节点存放 也就是通过屏蔽网络部分 形成一个“ one big CPU” 和 “one big disk” 。Client只需要向这个CPU去做read/write/mofity操作即可。但是对于业务的不同,也无法去满足满... 阅读全文
posted @ 2014-09-03 21:48 fuck_shit 阅读(1514) 评论(3) 推荐(0) 编辑
摘要: effective STL 某个Item里重点提出了 list.size()是一个O(n)的效率 当时只是记下来了 后面看了csdn有人在实际工程上遇到坑了 我近来闲来无事 把STL的list相关部分好好看下:看看STL大牛们设置成O(n)的原因:1) size() 调用algorithm里的di... 阅读全文
posted @ 2014-09-03 09:15 fuck_shit 阅读(4048) 评论(0) 推荐(0) 编辑
摘要: 在Vector中 做erase操作就是按照下面的步骤来做的: copy() destory(); 在list容器中 erase操作 destory() deallocate()Vector使用从某种意义上来说内存空间只是有增无减【如果不通过某种技术的话】 而list就像正常操作一样 该释... 阅读全文
posted @ 2014-09-01 21:43 fuck_shit 阅读(753) 评论(0) 推荐(0) 编辑
摘要: http://oldblog.antirez.com/post/fsync-different-thread-useless.html这是原文作者的博客 把他翻译下 带上自己的一些理解 看看作者引入fdatasync和bio技术上的一些探讨:【非常有用的磁盘持久化技术】对于从kernel buffe... 阅读全文
posted @ 2014-08-31 09:14 fuck_shit 阅读(2294) 评论(0) 推荐(1) 编辑
摘要: 基本事务操作: 任何数据库都必须要保证一种原子执行操作:最基本的原子执行操作肯定是需要提供: 举一个例子来说明: 当对某个Key 做一个统计: 可能不同的Client做它那部分的统计,一段时间后,服务器端需要得出那个key的具体值 Client1: GET number number = numbe... 阅读全文
posted @ 2014-08-30 16:39 fuck_shit 阅读(853) 评论(0) 推荐(0) 编辑
摘要: 对于REDIS来讲 其实就是一个字典结构,key ---->value 就是一个典型的字典结构【当然 对于vaule来讲的话,有不同的内存组织结构 这是后话】试想一个这样的存储场景:key:"city"value:"beijing"如果有若干个这样的键值对,你该怎么去存储它们呢 要保证写入和查询速度... 阅读全文
posted @ 2014-08-30 16:36 fuck_shit 阅读(1539) 评论(0) 推荐(0) 编辑
摘要: 简介 REDIS有非常丰富的数据结构 以及建立在这数据结构上的操作,在源文件中主要集中在 T_hash.c /T_list.c /T_string.c/T_zset.c可以说读懂了这4个源文件 大部分数据结构命令都比较清楚了。 先从T_string.c源文件开始读起:T_string.c SET命令... 阅读全文
posted @ 2014-08-30 16:33 fuck_shit 阅读(643) 评论(0) 推荐(0) 编辑
摘要: 数据库操作 1) REDIS是全部由KEY和VALUE值构成,对数据库的增删改查操作都是基于在通过key 映射到哈希槽 然后通过哈希槽进行单向链式遍历 查找到value和具体的key。同样 在查看大师写的源码时可以说是一种很好借鉴: 这里所有的操作已经主体源码引用都是zai redis/src/db... 阅读全文
posted @ 2014-08-30 16:31 fuck_shit 阅读(1609) 评论(0) 推荐(0) 编辑
摘要: REDIS目前给出了一个异步的主从复制版本系统。在redis里 提供了几种方式来完成这个工作。 主从复制主要对应在redis/replication.c这个文件里。源码框架里 分为3部分: Master部分/SLAVE部分/复制核心部分其实主从复制我个人觉得比较难的点就是在于每次重启之后 maste... 阅读全文
posted @ 2014-08-30 16:24 fuck_shit 阅读(1943) 评论(0) 推荐(0) 编辑