Redis
一路上秋风
这个作者很懒,什么都没留下…
展开
-
Redis分布式锁的理解
Redis原生事务Redis事务功能是通过MULTI,EXEC,DISCARD,WATCH四个原语实现的,Redis会将一个事务中所有命令序列化,然后顺序执行.1.MULTI命令用来开启一个事物.MULTI命令执行后,客户端可以继续向服务器发送多条指令,这些指令不会被立即执行,而是被放到一个队列中,当EXEC命令执行后,所有队列中的指令才会被执行.2.EXEC执行所有事物块中的指令.返回事物块中的所有命令,将指令按照先后顺序执行,如果操作被打断会返回空值nil.3.DISCRED命令被调用后,客户端原创 2020-10-28 14:00:19 · 204 阅读 · 1 评论 -
Redis性能的一些问题
Redis为什么是单线程1.Redis是基于内存的操作,cpu不是速度的瓶颈.Redis的瓶颈最可能是服务器内存或网络带宽,且单线程易实现.关于Redis的性能,官网指出,普通笔记本电脑每秒可以处理几十万的请求.2.单线程避免了不必要的上下文切换和竞争条件,不需要承受各种加锁同步操作带来的消耗.3.可以通过在单机开启多个Redis示例的方式来充分利用多核cpu资源.3.Redis采用IO多路复用技术来保证在多连接的情况下系统的高吞吐量.多路指多个socket连接,复用指复用一个线程.采用多路IO复用原创 2020-10-28 09:28:28 · 171 阅读 · 1 评论 -
Redis的过期策略及内存淘汰机制
过期策略定时删除定时删除是在设置key过期时间的同时,会创建一个定时器,定时器在key过期时间到达时,立即删除key.这种策略保证过期key被删除和内存释放的及时性,但是在过期key比较多的情况下,定时器会占用相应高的cpu资源,将cpu资源用在删除过期key上,会对服务器的响应时间和吞吐量造成影响.如: 有大量的请求正在等待服务器处理,并且服务器内存足够的情况下,服务器应当优先将cpu资源用于处理请求.创建一个定时器需要用到Redis服务器中的时间事件,而当前时间事件是用无序链表来实现的,查找一原创 2020-10-27 17:48:16 · 81 阅读 · 0 评论 -
Redis的持久化机制
Redis的持久化机制Redis的持久化机制有什么作用Redis的持久化方式有哪些RDB功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入Redis的持久化机制有什么作用Redis在运行时是把数据存在运行内存中的,一旦服务器宕机,原创 2020-10-27 12:24:12 · 180 阅读 · 0 评论 -
Redis缓存常见问题及解决方案
缓存雪崩可以简单的理解为: 系统刚刚部署完毕,所有缓存数据还未准备完毕或者由于原有缓存有效期集体到达例如: 系统中所有缓存都设置的一致的过期时间,在同一时刻出现大面积的缓存过期,所以原本应该查询缓存的请求都去查询数据库了,造成数据库压力骤增,甚至宕机.解决办法使用加锁或者队列的方式保证不会有大量线程对数据库进行一次性读写,设置热点数据永不过期,同时将缓存的过期时间设置分散.设置系统上线后就对需要缓存的数据进行缓存,而不是在第一次查询后才把数据加入缓存,这样做到了事先对缓存数据进行预热.解决思路原创 2020-10-27 14:13:50 · 589 阅读 · 0 评论