redis 记录

towboat / 2024-10-13 / 原文

 

redis 命令的执行是单线程的

 

IO多路复用:

多个客户端连接服务端时,Redis 会将客户端 socket 对应的 fd 注册进 epoll,epoll 同时监听多个文件描述符(FD)是否有数据到来,如果有数据来了就通知事件处理器赶紧处理,这样就不会存在服务端一直等待某个客户端

 

aof 日志:

  先执行命令,再写日志; 

  写回时机的策略:

   1. every second   2. every time(每写一条,就同步)     3.no(交给 os)

 

rdb快照

  某一刻的所有内存数据(redis) 记录

 

评价:rdb可能在崩溃时丢失更多数据,aof 可能消耗更多空间