技术标签: redis
redis对存储值的过期处理实际上是针对该值的键(key)处理的,即时间的设置也是设置key的有效时间。Expires字典保存了所有键的过期时间,Expires也被称为过期字段。
四种处理策略
其实以上几种处理方式都是根据PEXPIREAT来实现的,设置生存时间的时候是redis内部计算好时间之后在内存处理的,最终的处理都会转向PEXPIREAT。
1、2两种方式是设置一个过期的时间段,就是咱们处理验证码最常用的策略,设置三分钟或五分钟后失效,把分钟数转换成秒或毫秒存储到redis中。
3、4两种方式是指定一个过期的时间 ,比如优惠券的过期时间是某年某月某日,只是单位不一样。
过期键的处理就是把过期键删除,这里的操作主要是针对过期字段处理的。
Redis中有三种处理策略:定时删除、惰性删除和定期删除。
看完上面三种策略后可以得出以下结论:
4. 1、3为主动删除,2为被动删除。
5. 1是实时执行的,对CPU不是很友好,但是这在最大程度上释放了内存,所以这种方式算是一种内存优先优化策略。
6. 2、3为被动删除,所以过期键应该会存在一定的时间,这样就使得过期键不会被立马删除,仍然占用着内存。但是惰性删除的时候一般是单个删除,相对来说对CPU是友好的。
7. 定期键这种删除策略是一种让人很蛋疼的策略,它既有避免1、2两种策略劣势的可能,也有同时发生1、2两种策略劣势的可能。如果定期删除执行的过于频繁就可能会演变成定时删除,如果执行的过少就有可能造成过多过期键未被删除而占用过多内存,如果时间的设置不是太好,既可能占用过多内存又同时对CPU产生不好的影响。所以。使用定期删除的时候一定要把握好这个删除的时间点。
有三种:RDB持久化、AOF持久化和复制功能。
RDB:
1. 主服务器模式运行在载入RDB文件时,程序会检查文件中的键,只会加载未过期的,过期的会被忽略,所以RDB模式下过期键不会对主服务器产生影响。
2. 从服务器运行载入RDB文件时,会载入所有键,包括过期和未过期。当主服务器进行数据同步的时候,从服务器的数据会被清空,所以RDB文件的过期键一般不会对从服务器产生影响。
AOF:
AOF文件不会受过期键的影响。如果有过期键未被删除,会执行以下动作:
客户端请求时(过期键):
复制:
从服务器只有接到主服务器发送的DEL指令后才会删除过期键。
文章浏览阅读224次。HBuilderX 打包APK。_hbuilderx怎么打包成apk
文章浏览阅读142次。题目:Fibonacci数列,定义如下:f(1)=f(2)=1f(n)=f(n-1)+f(n-2) n>=3。计算第n项Fibonacci数值。Input输入第一行为一个整数N,接下来N行为整数Pi(1<=Pi<=1000)。Output输出为N行,每行为对应的f(Pi)。Sample Input512345...
文章浏览阅读1.4k次,点赞2次,收藏7次。环境:ubuntu18xacro编辑源文件概览:ubuntu@ubuntu-vpv:~/mybot_ws$ tree src/ src/├── CMakeLists.txt -> /opt/ros/melodic/share/catkin/cmake/toplevel.cmake└── mybot_description ├── CMakeLists.txt ├── config │ └── mybot_urdf.rviz ├── launch _ros noetic 如何写xacro模型
文章浏览阅读242次。校园体育运动场地及器材租凭系统 的设计主要是对系统所要实现的功能进行详细考虑,确定所要实现的功能后进行界面的设计,在这中间还要考虑如何可以更好的将功能及页面进行很好的结合,方便用户可以很容易明了的找到自己所需要的信息,还有系统平台后期的可操作性,通过对信息内容的详细了解进行技术的开发。校园体育运动场地及器材租凭系统的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与校园体育运动场地及器材租凭系统的实际需求相结合,讨论了基于校园体育运动场地及器材租凭系统的使用。
文章浏览阅读1.5k次,点赞31次,收藏24次。AI的疯狂发展以及视频、图像、音频、3D数据的迫切需要,导致传统的CPU不能满足这样大算力的计算。由于这些数据的运算多是一些简单的运算,因此需要设计出多个算术运算单元的芯片来应对这种少控制多计算的场景。这是并行计算、高性能计算诞生的重要动力。为了适配这样的场景,设计出了以GPU为核心的并行处理芯片、包括DSP、VPU、DPU、NPU等。本文主要介绍基于这些芯片以及网络、系统引入的高性能计算,比较全面的介绍高性能计算,希望对高性能计算的理解起到一个宏观的作用。:一个全栈工程师的升级之路!_hpc领域
文章浏览阅读145次。1 Carnegie Mellon University 卡内基梅隆大学1 Massachusetts Institute of Technology 麻省理工学院1 Stanford University 斯坦福大学1 University of California -Berkeley 加州大学伯克利分校5 Cornell University 康奈尔大学5 University of Ill..._俄亥俄大学计算机科学专业
文章浏览阅读202次,点赞9次,收藏5次。有时候我们可能会同时使用很多种IDE,每种IDE又有不同的Keymap,快捷键用起来很头疼。比如我,我最早是使用eclipse的,后来就习惯了eclipse的快捷键,哪怕用Android Studio、Clion、Virtual Studio等等我都喜欢切换成eclipse的快捷键,大大加快效率。提示:以下是本篇文章正文内容,下面案例可供参考1、这不是偶然,很多知名的IDE都有这个功能,因为它真的很有用。
文章浏览阅读1.6k次。分享Silverlight/WPF/Windows Phone/HTML5一周学习导读(11月28日-12月4日)本周Silverlight学习资源更新Silverlight HttpUtil 封装Post调用nivana999Silverlight中Grid.ColumnDefinitions属性设置错误xjbestSilverli
文章浏览阅读116次,点赞5次,收藏3次。工业互联网
文章浏览阅读1.2w次。iPhone网页显示不全(被遮挡)怎么办?今天再次遇到了这样一个历史遗留问题:我们在用iPhone浏览部分网页时,有时候会出现部分选项被界面遮挡的情况,如:
文章浏览阅读52次。转自:http://blog.csdn.net/eplaylity/article/details/6168283 1. vrapper(开源) 直接从eclipse安装即可,地址:http://vrapper.sourceforge.net/update-site/stable/ 2. viplugin(收费) 下载后,拷贝到eclipse相应目录即可,地址 http://www.vip..._在eclipse中配置vim编辑
文章浏览阅读2.2k次,点赞8次,收藏12次。文章目录服务器CPU使用率达到99%程序发生了死锁java应用大量消耗内存 学习了JDK命令,就是为了排查故障的,今天通过几个分类来了解在程序遇到故障的时候,如果使用JDK命令排查问题服务器CPU使用率达到99% 这里我们先写一个demo,写一个死循环..._jdk巡检的检查项