redis数据布局和内部编码及单线程架构

打印 上一主题 下一主题

主题 986|帖子 986|积分 2958


 博主主页: 码农派大星.

    数据布局专栏: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企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

兜兜零元

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表