1. 1.1 Redishistorical

    1. Redis是什么 Redis是一个K、V型的内存型数据库。 相对于Memcached来说有两个特点,一个是丰富的数据结构,另一个是持久化 2. Redis安装 - Redis安装.md 3. Redis特性 3.1. 单线程 - Redis线程模型.md 3.2. 内存型数据库 Redis所有

  2. 1.2 Redis安装historical

    1. 源码安装 1. 下载源码 - Redis 2. 安装开发环境包 3. 编译 4. 安装 - redis 5. 配置 - 备份并且移除注释 - 最核心的配置 6. 启动并测试

  3. 1.3 Redis持久化historical

    1. 为什么要持久化 Redis数据存放在内存,一旦宕机那么内存中的数据全部丢失了。 因此需要把内存中的数据持久化到硬盘中以便挂了之后恢复 2. 持久化方式 2.1. RDB 2.1.1. 是什么 把当前内存中的数据做成一个二进制文件dump到磁盘中,就是一个快照 2.1.2. 触发时机 2.1.2

  4. 1.4 Redis事务historical

    1. Redis事务是什么 - 一步执行一组命令,有两点保证: - 事务中的所有指令是顺序执行的。也就是说执行这一组指令的过程中,其他客户端看不到中间状态 - 原子性。即所有命令要么都会执行,要么都不被执行。但是 如果中途有一个命令执行失败了,那么之前执行的命令不会回滚 2. Redis事务使用 2

  5. 1.5 Redis pipelinehistorical

    1. Redis pipeline是什么 - Redis的使用CS模型的,实现request/response协议的TCP服务器: - 客户端向服务器发送查询,并通常以阻塞的方式从套接字中读取服务器的响应。 - 服务器处理命令并将响应发送回客户端。 - 一次RTT(往返时间)大致250ms,即使服务

  6. 1.6 Redis pubsubhistorical

    1. Redis Pub/Sub是什么 publisher把消息丢给channel,有多个subcriber可以订阅这个channel。 类似于消息队列介绍.md的发布订阅模式,解耦了publisher和subcriber 2. Redis Pub/Sub使用 2.1. 基本使用 - 订阅者1订阅c

  7. 1.7 Redis Luahistorical

    1. Lua入门 Lua.md 2. Redis Lua使用 2.1. 执行Lua脚本 其中shop point和shop id list是KEYS,1和1600482998753是ARGV,KEYS和ARGV之间使用 , 分开 2.2. 调试Lua脚本 - 默认开启新的session,意味着服务器

  8. 1.8 使用Wireshark分析Redishistorical

    1. 选择localhost接口 2. 选择筛选6379端口 3. redis-cli发起命令 4. 追踪流 5. 分析包

  9. 1.9 Redis处理客户端连接historical

    1. 客户端连接处理过程 - 当客户端的连接被服务器accepted - 执行如下步骤 - 由于Redis使用multiplexing和non-blocking I/O,所以客户端socket处于非阻塞状态。 - 设置TCP NODELAY选项。这是为了确保我们的连接没有延迟。 - 创建可读文件事件

  10. 1.10 Redis信号处理historical

    1. 处理SIGTERM和SIGINT 告知redis优雅的关闭 - 如果有后台子进程在保存RDB或者执行AOF重写,那么kill掉这个子进程 - 如果AOF开启了,那么对AOF的文件描述符调用fsync以刷新磁盘buffer - 如果RDB开启了,那么按同步阻塞的方式保存RDB。 - 如果RDB无