1 Star 0 Fork 0

mint/redisbook

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
convention 1.63 KB
一键复制 编辑 原始数据 按行查看 历史
huangz1990 提交于 2013-03-08 00:02 . 更新目录
约定
=======
模块名
---------
当文章说明一个特定的源码文件(模块)时,
通常会以全名标记出这个模块,
比如 ``dict.c`` ,或者 ``redis.h`` 。
函数名
---------
模块中的内容通常用“模块名”+“/”+“名字”的格式给出,
比如函数名 ``dict.c/dictAdd`` 指的是在 ``dict.c`` 文件中的 ``dictAdd`` 函数,
``ziplist.c/ZIP_END`` 指的是 ``ziplist.c`` 文件中的 ``ZIP_END`` 常量,
诸如此类。
如果我们正在讨论某个模块,
那么当给出一个不带模块名的名字时,
就说明这个名称位于该模块之下:
比如说,当我们讨论字典一章时,
引用 ``dict.c/dictAdd`` 就只写出 ``dictAdd`` 。
算法复杂度
--------------
在文档和源码里列出的算法复杂度,
如果没有特别说明的话,
都是最坏情况下的复杂度。
对于内存分配(\ ``malloc``\ )、
内存重分配(\ ``realloc``\ )、
以及内存移动(\ ``memmove``\ ),
如果它们处理的对象数量是单个或者固定的话,
那么将它们的复杂度视为 :math:`O(1)` ;
如果它们处理的对象是多个或者不固定的话,
那么将它们的复杂度视为 :math:`O(N)` 。
比如说, ``malloc(sizeof(struct Foo))`` 就被看作 :math:`O(1)` ,
而 ``malloc(sizeof(struct Foo) * someN)`` 则被看作是 :math:`O(N)` 。
二进制
--------
Redis 以小端的方式来处理数据,
也即是,将 ``0x12345678`` 处分割成 ``0x78`` 、 ``0x56`` 、 ``0x34`` 和 ``0x12`` 来储存,
不过为了阅读的方便,本文档仍然使用阅读起来更自然的大端方式来展示二进制数据。
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/icefoxbler/redisbook.git
git@gitee.com:icefoxbler/redisbook.git
icefoxbler
redisbook
redisbook
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385