1.Redis基于内存,大部分命令处理只是纯粹的内存操作
2.Redis是单进程的服务,避免了不必要的上下文切换,同时不存在加锁/释放锁 等同步操作
3.Redis 使用多路I/O 复用模型,select ,epoll, poll 可以高效处理大量并发连接
4.Redis中的数据结构,增删改查比较简单
Redis 5.0 中,flag占据一个字节,低3位表示type,高5位表示长度 ,能表示的长度区间为0 到 31
长度大于31的字符串,len和free单独存放
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
save:由于redis是单线程的,save会造成阻塞,在rdb文件创建完成期间不处理任何请求。
bgsave:会创建子线程,完成rdb文件的创建工作,主线程正常执行。
在执行bgsave期间,主线程会拒绝save和bgsave命令;bgrewriteaof命令会延迟到bgsave命令结束之后执行
断线期间,也需要完整的同步,很耗费资源