博主主页: 码农派大星.
数据布局专栏:Java数据布局
数据库专栏:数据库
JavaEE专栏:JavaEE
软件测试专栏:软件测试
关注博主带你相识更多知识
1. 数据布局和内部编码
Redis会在符合的场景选择符合的内部编码
我们可以通过objectencoding命令查询内部编码 :
2. 单线程架构
Redis 使⽤了单线程架构来实现⾼性能的内存数据库服务
当好几个客户端,也相当于"并发"发起请求时,这时就意味着是否redis服务器存在线程安全题目呢?实在是不会发生线程安全题目的,redis服务器是单线程模型,包管收到的多个请求会串行执行,多个请求同时到达redis服务器,也是要在队列中列队,再等候redis服务器一个一个取出里面的命令再执行,微观上讲,redis服务器是串行/次序执行多个命令的
redis能够使用单线程模型,原因重要在于redis的核心业务逻辑,都是短平快的,不会太消耗cpu资源,不太吃多核
redis固然是单线程,但为什么他会这么快服从高呢?
1. redis访问内存,数据库则是访问硬盘
2. redis核心功能比数据库核心功能简单
3. 单线程模型,避免了一些不必要的线程竞争开销
redis每个操作都是短平快的,就是简单操作一下内存数据,不是特别消耗cpu
资源
4.处理网络IO的时间,使用了epoll如许的IO多路复用机制(一个线程处理多个socket)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |