Untitled

应用场景

redis cli

I/O 多路复用

单线程架构

开启三个 redis-cli 客户端执行命令

127.0.0.1:6379> set hello world // A 设置一个字符串键值对
127.0.0.1:6379> incr counter // B 对counter做自增操作
127.0.0.1:6379> incr counter // C 对counter做自增操作

每次客户端调用都经历了发送命令、执行命令、返回结果三个过程。因为Redis是单线程来处理命令的,所以一 条命令从客户端达到服务端不会立刻被执行,所有命令都会进入一个队列。三个客户端命令执行顺序不确定,但不会有两条被同时执行,incr 无论怎么执行最终结果都是 2,没有并发问题