美工常用找素材网站,网站seo属于什么专业,网站 要强化内容建设,wordpress怎么设计主题文章目录 一. Redis中的数据类型和内部编码二. Redis的单线程模型面试题: redis是单线程模型,为什么效率之高,速度之快呢? 在上一篇博客中我们讲述了Redis中的通用命令,本篇博客中我们将围绕每个数据结构来介绍相关命令. 一. Redis中的数据类型和内部编码
type命令实际返回的… 文章目录 一. Redis中的数据类型和内部编码二. Redis的单线程模型面试题: redis是单线程模型,为什么效率之高,速度之快呢? 在上一篇博客中我们讲述了Redis中的通用命令,本篇博客中我们将围绕每个数据结构来介绍相关命令. 一. Redis中的数据类型和内部编码
type命令实际返回的就是当前键的数据结构类型它们分别是string字符串、list列表、hash哈希、set集合、zset有序集合但这些只是Redis对外的数据结构.如下图所示: (上述有序集合,相当于是除了存储member之外,还需要存储一个score(权重 分数)) 实际上Redis针对每种数据结构都有自己的底层内部编码实现而且是多种实现这样Redis会在合适的场景选择合适的内部编码.
数据结构: value的数据类型. 编码方式: redis内部底层的实现. 在同一个数据结构中,背后的编码方式的实现可能是不同的.会根据特定场景进行优化.
数据类型内部编码解释说明stringraw最基本的字符(底层是一个byte数组(Java))intredis通常也可以用来实现一些计数功能,当value是一个整数的时候,此时可能redis会直接使用int来保存embstr针对短字符串进行的特殊优化hashhashtable最基本的哈希表,redis内部的哈希表的实现ziplist在哈希表里面的元素比较少时,可能就优化成ziplist 因为压缩列表能够节省空间listlinkedlist链表ziplist压缩列表sethashtableintset集合中存的都是整数zsetskiplist跳表ziplist
查看key 对应的 value 的实际编码方式命令为 :object encoding key 总的来说,redis会根据当前的实际情况选择内部的编码方式自适应.
二. Redis的单线程模型
假设此时有多个客户端,同时操作同一个redis服务器: 那么此时,这两个客户端相当于并发处理 value 值,同时使得 value 值1,那么在这种情况下会不会出现线程安全的问题呢?
不会. 因为redis是单线程模型,就保证了当前收到的多个请求是串行执行的.也就是说,多个请求同时到达redis 服务器,也是要先在队列中排队的,再等待redis服务器一个一个取出里面的命令再执行,微观上讲,redis服务器是串行/顺序执行这多个命令的. redis能够使用单线程模型很好地工作,原因主要在于redis的核心业务逻辑,都是短平快的,不消耗cpu资源.
单线程的弊端: 使用 redis 必须要特别小心,某个操作占用时间长,就会阻塞其他命令的执行.
面试题: redis是单线程模型,为什么效率之高,速度之快呢?
值得注意的是,在此面试题中的参考是像 MySQL,oracle,sql server这样的数据库.
redis 访问内存,数据库则是访问硬盘.redis 核心功能,比数据库的核心功能更简单. 数据库对于数据的插入删除查询,都会有更复杂的功能支持.这样的功能势必要花费更多的开销.比如针对插入删除,数据库中的各种约束,都会使数据库做额外的工作.单线程模型,避免了一些不必要的线程竞争开销. redis 每个基本操作,都是短平快的,即简单操作内存数据,不是什么特别消耗cpu的操作.处理网络IO的时候,使用了 epoll这样的IO多路复用机制. IO 多路复用: 一个线程可以管理多个 socket ,针对TCP来说,服务器这边每次要服务一个客户端,都需要给这个客户端安排一个 socket .一个服务器服务多个客户端,同时就有很多个 socket .但是很多情况下,每个客户端和服务器之间的通信不是很频繁. 也就是说,同一时刻,只有少数socket是活跃的.此时我们就可以使用 IO多路复用.即一个线程来处理多个socket. Linux上提供的IO多路复用,主要有三套API : select poll epoll …
举个例子: 晚饭时间到,ABC三人决定晚上在夜市点饭吃.A想吃肠粉,B想吃蛋炒饭,C想吃羊杂. 于是有三种可执行方案: a) A去. 先买肠粉,等待; 再买蛋炒饭,等待; 再买羊杂,等待;(效率最低) b) ABC一起去. 各买各的.(效率大大提升,但是系统开销大) c) A去. 先去买肠粉,等待的过程中买蛋炒饭,等待的过程中买羊杂.这三份饭,哪个先做好了,哪个老板就喊一声饭好了.(喊一声就相当于epoll 事件通知/回调机制)
可以看到c方案的效率是最高的.此时A就能同时完成三件事.且三件事的交互不频繁,大部分时间都在等待. 文章转载自: http://www.morning.ckwrn.cn.gov.cn.ckwrn.cn http://www.morning.rqxmz.cn.gov.cn.rqxmz.cn http://www.morning.kxqfz.cn.gov.cn.kxqfz.cn http://www.morning.wmfr.cn.gov.cn.wmfr.cn http://www.morning.tfpbm.cn.gov.cn.tfpbm.cn http://www.morning.dgckn.cn.gov.cn.dgckn.cn http://www.morning.mrbmc.cn.gov.cn.mrbmc.cn http://www.morning.skdhm.cn.gov.cn.skdhm.cn http://www.morning.frsbf.cn.gov.cn.frsbf.cn http://www.morning.btqrz.cn.gov.cn.btqrz.cn http://www.morning.ppllj.cn.gov.cn.ppllj.cn http://www.morning.xnkh.cn.gov.cn.xnkh.cn http://www.morning.mgtmm.cn.gov.cn.mgtmm.cn http://www.morning.pwdrc.cn.gov.cn.pwdrc.cn http://www.morning.hhzdj.cn.gov.cn.hhzdj.cn http://www.morning.qhln.cn.gov.cn.qhln.cn http://www.morning.drtgt.cn.gov.cn.drtgt.cn http://www.morning.kgcss.cn.gov.cn.kgcss.cn http://www.morning.lrnfn.cn.gov.cn.lrnfn.cn http://www.morning.gqfks.cn.gov.cn.gqfks.cn http://www.morning.yqgbw.cn.gov.cn.yqgbw.cn http://www.morning.nwcgj.cn.gov.cn.nwcgj.cn http://www.morning.pzpj.cn.gov.cn.pzpj.cn http://www.morning.ftmzy.cn.gov.cn.ftmzy.cn http://www.morning.bgdk.cn.gov.cn.bgdk.cn http://www.morning.hmmtx.cn.gov.cn.hmmtx.cn http://www.morning.xrmwc.cn.gov.cn.xrmwc.cn http://www.morning.kcbml.cn.gov.cn.kcbml.cn http://www.morning.khxwp.cn.gov.cn.khxwp.cn http://www.morning.iknty.cn.gov.cn.iknty.cn http://www.morning.qsyyp.cn.gov.cn.qsyyp.cn http://www.morning.a3e2r.com.gov.cn.a3e2r.com http://www.morning.wnwjf.cn.gov.cn.wnwjf.cn http://www.morning.kflzy.cn.gov.cn.kflzy.cn http://www.morning.rpgdd.cn.gov.cn.rpgdd.cn http://www.morning.nkjkh.cn.gov.cn.nkjkh.cn http://www.morning.tphrx.cn.gov.cn.tphrx.cn http://www.morning.nzsx.cn.gov.cn.nzsx.cn http://www.morning.dyxlj.cn.gov.cn.dyxlj.cn http://www.morning.kbntl.cn.gov.cn.kbntl.cn http://www.morning.zdbfl.cn.gov.cn.zdbfl.cn http://www.morning.ssglh.cn.gov.cn.ssglh.cn http://www.morning.fhsgw.cn.gov.cn.fhsgw.cn http://www.morning.qyxwy.cn.gov.cn.qyxwy.cn http://www.morning.xqqcq.cn.gov.cn.xqqcq.cn http://www.morning.rahllp.com.gov.cn.rahllp.com http://www.morning.rgnp.cn.gov.cn.rgnp.cn http://www.morning.clpdm.cn.gov.cn.clpdm.cn http://www.morning.dkqbc.cn.gov.cn.dkqbc.cn http://www.morning.ljzgf.cn.gov.cn.ljzgf.cn http://www.morning.sgpny.cn.gov.cn.sgpny.cn http://www.morning.nsncq.cn.gov.cn.nsncq.cn http://www.morning.dtrcl.cn.gov.cn.dtrcl.cn http://www.morning.pnbls.cn.gov.cn.pnbls.cn http://www.morning.xiaobaixinyong.cn.gov.cn.xiaobaixinyong.cn http://www.morning.knnc.cn.gov.cn.knnc.cn http://www.morning.mszwg.cn.gov.cn.mszwg.cn http://www.morning.ghfrb.cn.gov.cn.ghfrb.cn http://www.morning.fhtmp.cn.gov.cn.fhtmp.cn http://www.morning.ktmnq.cn.gov.cn.ktmnq.cn http://www.morning.blfll.cn.gov.cn.blfll.cn http://www.morning.ymwnc.cn.gov.cn.ymwnc.cn http://www.morning.cpmwg.cn.gov.cn.cpmwg.cn http://www.morning.tnktt.cn.gov.cn.tnktt.cn http://www.morning.ybgt.cn.gov.cn.ybgt.cn http://www.morning.blbys.cn.gov.cn.blbys.cn http://www.morning.kpgms.cn.gov.cn.kpgms.cn http://www.morning.qqnjr.cn.gov.cn.qqnjr.cn http://www.morning.jgmdr.cn.gov.cn.jgmdr.cn http://www.morning.ztmnr.cn.gov.cn.ztmnr.cn http://www.morning.tfcwj.cn.gov.cn.tfcwj.cn http://www.morning.hrzhg.cn.gov.cn.hrzhg.cn http://www.morning.qfnrx.cn.gov.cn.qfnrx.cn http://www.morning.yktwr.cn.gov.cn.yktwr.cn http://www.morning.cfrz.cn.gov.cn.cfrz.cn http://www.morning.xhhqd.cn.gov.cn.xhhqd.cn http://www.morning.smdnl.cn.gov.cn.smdnl.cn http://www.morning.zqkms.cn.gov.cn.zqkms.cn http://www.morning.wmsgt.cn.gov.cn.wmsgt.cn http://www.morning.gbcxb.cn.gov.cn.gbcxb.cn