1.基础数据结构
1)string:dict(hash表)
2)hash:ziplist(连续内存空间的特殊双向链表)
3)list:quicklist(双向链表)
4)set:value为string时使用dict,value为number时使用intset(变长数组)
5)zset:dict + zskiplist
2.网络模型
实现了select、epoll、evport、kqueue,Linux使用epoll
可参考:http://wiki.jikexueyuan.com/project/redis/dict.html
3.关于单线程
Redis一直宣称为单线程,实际指的是对外处理业务是由主线程单个线程完成,但还有3个bio服务的后台线程,所以用命令或工具查看redis进程的线程数,会发现redis进程有4个线程。
可参考:http://www.cnblogs.com/learn-my-life/p/5662607.html
网友评论