- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 redis源码学习8 内存管理
列文件zmallo.c 内存管理defrag.c 碎片整理zmallo.c 内存管理默认定义了宏 HAVE_MALLOC_SIZE,所以会用静态变量 used_memory 存储使用的内存大小并在分配释放内存时更新它。更新时是命名为 atomic* 的宏做的原子操作。defrag.c 碎片整理只有使用 jemalloc 才支持`activeDef
2018-01-26 19:15:13 171
原创 redis源码学习7 一些未分类的功能模块
列内容module.c 模块化接口(先留坑) https://redis.io/topics/modules-introblocked.c notify.c 通过Pub/Sub 实现的操作通知系统multi.c 事务和watchlatency.c 时延监控slowlog.c 慢查询日志blocked.c 用于客户端的阻塞、等待操作与t_list.c 相关联。BLPO
2018-01-26 16:31:35 173
原创 redis源码学习6 对象和数据
作为重要中间层的对象和一些清除数据的方法object.c 对象evict.c 内存不足时清除一些数据expire.c 超时处理object.c 对象redis对象,但一些时候会直接用 sds 而不是这种间接数据typedef struct redisObject { unsigned type:4; /* 类型 */ unsigned encoding:
2018-01-26 00:00:20 188
原创 redis源码学习5 持久化与I/O 等
涉及持久化处理,I/O 操作先列模块db.c c语言层的数据库APIlazyfree.c 惰性释放空间,通过后台线程aof.c append only file 持久化存储-逐条命令rdb.c 持久化存储-快照childinfo.c aof和rdb 的子进程操作rio.c 面向具体 I/O 设备的数据流的抽象接口syncio.c 同步的socket 和文件I/O 操作bio
2018-01-24 20:00:36 241
原创 redis源码学习4 ae.c 事件循环
基于一个定时器的事件循环,每次循环取已被触发的事件做处理先列模块ae.c event loop 主模块ae_evport.c 负责调用 evport 的接口ae_epoll.c 负责调用 epoll 的接口ae_kqueue.c 负责调用 kqueue 的接口ae_select.c 负责调用 select 的接口注意evport, epoll, kqueue, select
2018-01-19 18:23:24 823
原创 redis源码学习3 启动、配置及socket
现在就从服务器启动入口开始讲先列模块server.c 程序入口,初始化逻辑,主循环逻辑等config.c 配置读写、处理anet.c 操作接口,主要是面向操作系统的接口networking.c 服务器具体网络操作redis-cli.c 客户端跟随 README.md 的脚步走,先看结构主要字段/* redis服务器 */struct redisServer { redisDb *db;
2018-01-19 10:59:08 403
原创 redis源码学习2 功能性命令及其实现
先学习功能性命令及其实现,是因为我们接触一个新数据库最开始就要了解,并且使用时要非常熟悉的部分。理解它如何实现,有利于知道如何使用哪些命令,知道其优、劣势。先列文件及简要dict.c 字典zipmap.c 内存连续的映射表 intset.c 内存连续的整形有序集ziplist.c 内存连续的多个数据quicklist.c 基于ziplist 的双向链表adlist.c 所有
2017-10-17 15:23:08 688
原创 redis源码学习1 总揽
参考 http://blog.csdn.net/column/details/redis-code.html 源码版本是github 拉下来的,截至2017/9/29 的版本学习流程计划 * 从使用入手,学习用到的数据结构,为何用、如何用。 * 服务器启动、配置及socket * 服务器事件循环模型 * 数据落地或存内存,以及日志 * 一些重要结构的分析 * 集群、主从 *
2017-10-17 14:39:29 256
原创 windows上搭建erlang的intellij idea开发环境
之前开发erlang,用的是erlide,功能强大,保存即编译,语法提示很全,有自动补全。另外还用到Sublime Text,一个挺好用又好上手的文本编辑器。但是erlide缺点也大,就是慢,自动补全有时比较卡,也不全都有,自动跳转经常出错。后来,发现了intellij idea这个,集上面两家优点,缺点也比较少。下面是正文准备1 intellij idea,请自行下载安装,我用的
2013-09-24 17:44:15 6306 2
原创 cocos2d-x读文件
void GameData::loadEnemy(){ std::stringstream ss; ss getFileData( "enemiesData.txt", "r", new unsigned long); std::string cmd; std::string itemName; int levelNum; whi
2013-07-01 20:00:54 637
原创 cocos2d-x环境搭建及android移植
我之前是参考这篇文件配置的http://my.oschina.net/arthas/blog/100076,可以移植win32的项目到android上。但很多情况下不行。我在win7 x64和win8 x64下都测试成功 下面是我的新的移植android的配置过程开发用到的工具及基本准备cocos2d-x,下载地址是http://cocos2d-x.org/projects/c
2013-06-04 09:43:49 979
cocos2d-x配置教程,主要关于移植android
2013-06-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人