redis 的单线程:
是指Redis的网络IO和键值对读写是由一个线程来完成的
诸如持久化,异步操作,集群同步都是多线程
IO多路复用:
多个客户端连接服务端时,Redis 会将客户端 socket 对应的 fd 注册进 epoll,epoll 同时监听多个文件描述符(FD)是否有数据到来,如果有数据来了就通知事件处理器赶紧处理,这样就不会存在服务端一直等待某个客户端
aof 日志:
先执行命令,再写日志;
写回时机的策略:
1. every second 2. every time(每写一条,就同步) 3.no(交给 os)
rdb快照
某一刻的所有内存数据(redis) 记录
评价:rdb可能在崩溃时丢失更多数据,aof 可能消耗更多空间
删除大key:
string del 不多说
渐进式删除
list strim
set srem
hash hdel