[深入理解Redis]读取RDB文件

2018-09-03
阅读 4 分钟
6.9k
最近在做一个解析rdb文件的功能,途中遇到了一些问题,也解决了一些问题。具体为什么要做这件事情之后再详谈,本次主要想聊聊遇到的开始处理文件时遇到的第一个难题:理解RDB文件的协议、如何读取二进制文件。

[Redis源码阅读]当你输入get/set命令的时候,Redis做了什么

2018-06-11
阅读 12 分钟
4.5k
上一篇文章介绍了redis-server的启动过程,服务端启动之后,就启动事件循环机制监听新事件的到来,此时不同的客户端就可以通过发送指令的方式请求server并得到处理结果的回复。在开发过程中,用到最多的就是get和set命令,那么,当我们输入get/set命令时,redis做了什么呢?

[Redis源码阅读]当你启动Redis的时候,Redis做了什么

2018-05-26
阅读 2 分钟
2.1k
假设Redis安装在了/usr/local/目录下,那么启动Redis是通过执行/usr/local/bin/redis-server -c xxx.conf的方式执行。redis-server是一个通过编译server.c文件生成的程序,因此想了解redis是怎么启动的,应该从server.c/main函数入手。

[Redis源码阅读]redis持久化

2018-04-04
阅读 5 分钟
2.5k
由于Redis是一种内存型数据库,即服务器在运行时,系统为其分配了一部分内存存储数据,一旦服务器挂了,或者突然宕机了,那么数据库里面的数据将会丢失,为了使服务器即使突然关机也能保存数据,必须通过持久化的方式将数据从内存保存到磁盘中。

【redis源码阅读】redis对象

2018-03-21
阅读 4 分钟
2.4k
使用位段类型的好处就是避免浪费内存,如果使用unsigned int type定义type字段,需要4个字节,而使用unsigned type:4,只需要4个位段就足够了。

[Redis源码阅读]sds字符串实现

2017-11-13
阅读 6 分钟
3.2k
从开始工作就开始使用Redis,也有一段时间了,但都只是停留在使用阶段,没有往更深的角度探索,每次想读源码都止步在阅读书籍上,因为看完书很快又忘了,这次逼自己先读代码。因为个人觉得写作需要阅读文字来增强灵感,那么写代码的,就阅读更多代码来增强灵感吧。

[深入学习Redis]RedisAPI的原子性分析

2017-04-05
阅读 2 分钟
6.2k
在学习Redis的常用操作时,经常看到介绍说,Redis的set、get以及hset等等命令的执行都是原子性的,但是令自己百思不得其解的是,为什么这些操作是原子性的?