redis设置过期时间后再set还用设置时间吗_java中参数传递的两种方式

redis设置过期时间后再set还用设置时间吗_java中参数传递的两种方式redis如何设置过期时间memcached和redis的set命令都有expire参数,可以设置key的过期时间。但是redis是一个可以对数据持久化的key-value数据库,它的key过期策略还是和memcached有所不同的。梳理,整理如下:redis通过expire命令来设置key的过期时间。****语法:redis.expire(key,expiration)…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

redis如何设置过期时间

memcached 和 redis 的set命令都有expire参数,可以设置key的过期时间。

但是redis是一个可以对数据持久化的key-value 数据库,

它的key过期策略还是和memcached有所不同的。

梳理,整理如下:

redis通过expire命令来设置key的过期时间。

****语法:redis.expire(key, expiration)

  1. 在小于2.1.3的redis版本里,只能对key设置一次expire。
    redis2.1.3和之后的版本里,可以多次对key使用expire命令,更新key的expire time。

  2. redis术语里面,把设置了expire time的key 叫做:volatile keys。 意思就是不稳定的key。

  3. 如果对key使用set或del命令,那么也会移除expire time。尤其是set命令,
    这个在编写程序的时候需要注意一下。

  4. redis2.1.3之前的老版本里,如果对volatile keys 做相关写入操作(LPUSH,LSET),
    和其他一些触发修改value的操作时,redis会删除该key。 也就是说 :

redis.expire(key,expiration);

redis.lpush(key,field,value);

redis.get(key) //return null

redis2.1.3之后的版本里面没有这个约束,可以任意修改。

redis.set(key,100);

redis.expire(key,expiration);

redis.incr(key)

redis.get(key)

//redis2.2.2 return 101; redis<2.1.3 return 1;

  1. redis对过期键采用了lazy expiration:在访问key的时候判定key是否过期,如果过期,

则进行过期处理。其次,每秒对volatile keys 进行抽样测试,如果有过期键,

那么对所有过期key进行处理。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189323.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java图书馆新地址_值得你关注的16个顶级 Java 开源项目!小白必看

    java图书馆新地址_值得你关注的16个顶级 Java 开源项目!小白必看1.JavaGuide把这个排第一没有个人因素影响哈!Guide哥我自己大三开始维护的,目前算是纯Java类型项目中Star数量最多的项目了。但是,本仓库的价值远远(+N次)比不上像SpringBoot、Elasticsearch等等这样非常非常非常优秀的项目。希望以后我也有能力为这些项目贡献一些有价值的代码。Github地址:https://github.com/Snailc…

    2022年7月7日
    44
  • 给 Pycharm 安装 pytorch

    给 Pycharm 安装 pytorch问题在之前的文章Win10通过Anaconda下载安装PyTorch中,用Anacondaprompt在base环境中安装了PyTorch,并且能在Jupyternotebook中调用。但遇到了两个问题:使用Pycharm创建新project时,envs目录下找不到pytorch的选项;在Pycharm中运行>>>importtorch报错“Couldnotfindcondaenvironment:torch”

    2022年8月27日
    8
  • java多线程中的join方法详解[通俗易懂]

    java多线程中的join方法详解[通俗易懂]java多线程中的join方法详解 方法Join是干啥用的?简单回答,同步,如何同步?怎么实现的?下面将逐个回答。   自从接触Java多线程,一直对Join理解不了。JDK是这样说的:joinpublicfinalvoidjoin(longmillis)throwsInterruptedExceptionWaitsatmostmillismi

    2022年5月29日
    45
  • 卡方线性趋势检验_spss 卡方的线性趋势检验如何做?[通俗易懂]

    卡方线性趋势检验_spss 卡方的线性趋势检验如何做?[通俗易懂]Analyze—DescriptiveStatistics-Crosstabs过程,分别放入两个变量,然后在Statistics过程中勾上Chi-squrae,完成后会出现卡方独立性检验结果,其中有Linear-by-LinearAssociation一项,应该就是你所谓的卡放线性趋势检验。不过你的数据格式:阶段恶性正常111426281473182175是这样的话是没法直接在…

    2022年5月17日
    170
  • sqlserver2016安装步骤产品密钥_kepserver使用教程

    sqlserver2016安装步骤产品密钥_kepserver使用教程1.进入安装中心:可以参考硬件和软件要求、可以看到一些说明文档2.选择全新安装模式继续安装3.输入产品秘钥:这里使用演示秘钥进行4.在协议中,点击同意,并点击下一步按钮,继续安装5.进入全局规

    2022年8月3日
    4
  • 电脑蓝屏错误代码0x0000007b_戴尔开机蓝屏0x0000007b

    电脑蓝屏错误代码0x0000007b_戴尔开机蓝屏0x0000007b电脑开机后就出现蓝屏代码为0x0000007b到底什么意思呢?0x0000007b算是电脑蓝屏常见故障之一,导致这样情况的原因有几种,下面小白系统帮你分析下导致蓝屏0x0000007b的原因以及解决方案。情况一:重装xp系统出现的蓝屏很多朋友的电脑系统原来是win7系统,但是重装xp系统后就会出现蓝屏代码0x0000007b的画面。解决步骤:1、重启电脑按F2键进入bios界面,常见进bios热键…

    2025年10月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号