redis基于reactor模式开发了网络事件处理器,这个处理器叫做文件事件处理器。这个文件事件处理器,是单线程的,redis才叫做单线程的模型,采用IO多路复用机制同时监听多个socket,redis里面有个队列,会把每个监听到的事件按照顺序入队,再按照FIFO出队,根据socket上的事件来选择对应的事件处理器来处理这个事件。因此,redis每个操作都是原子性。 Redis的原子性有两点: - 单个操作是原子性的(一个操作的不可以再分,操作要么执行,要么不执行。) - 多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来