• redis设置过期时间


    一般主要包括4种处理过期方,其中expire都是以秒为单位,pexpire都是以毫秒为单位的。

    1 EXPIRE key seconds  //将key的生存时间设置为ttl秒
    2 PEXPIRE key milliseconds  //将key的生成时间设置为ttl毫秒
    3 EXPIREAT key timestamp  //将key的过期时间设置为timestamp所代表的的秒数的时间戳
    4 PEXPIREAT key milliseconds-timestamp  //将key的过期时间设置为timestamp所代表的的毫秒数的时间戳

    备注:timestamp为unix时间戳(例如:timestamp=1499788800 表示将在2017.07.12过期)
    1、2两种方式是设置一个过期的时间段,就是咱们处理验证码最常用的策略,设置三分钟或五分钟后失效,把分钟数转换成秒或毫秒存储到Redis中。 
    3、4两种方式是指定一个过期的时间 ,比如优惠券的过期时间是某年某月某日,只是单位不一样。

    下面我们就以EXPIREAT为例子简单讲解下用法。

    返回值

    一个整数值1或0,如下:

    • 如果成功地为该键设置了超时时间,返回 1
    • 如果键不存在或无法设置超时时间,返回 0

    语法
    以下是以Redis的EXPIREAT命令的基本语法。

    1 redis 127.0.0.1:6379> Expireat KEY_NAME TIME_IN_UNIX_TIMESTAMP

    示例

    首先,在Redis中创建一个键:akey,并在akey中设置一些值。

    1 redis 127.0.0.1:6379> SET akey redis 
    2 OK

    现在,为设置创建的键设置超时时间为60 秒。

    复制代码
     1 127.0.0.1:6379> SET akey redis
     2 OK
     3 127.0.0.1:6379> EXPIREAT akey 1393840000
     4 (integer) 1
     5 127.0.0.1:6379> EXISTS akey
     6 (integer) 0
     7 127.0.0.1:6379> SET akey redis
     8 OK
     9 127.0.0.1:6379> EXPIREAT akey 1493840000
    10 (integer) 1
    11 127.0.0.1:6379> EXISTS akey
    12 (integer) 1
    复制代码

    其他三个用法类似,这里不逐一阐述

    2、字符串独有方式

    对字符串特殊处理的方式为SETEX命令,SETEX命令为指定的 key 设置值及其过期时间。如果 key 已经存在, SETEX 命令将会替换旧的值。

    返回值

    设置成功时返回 OK 。

    语法

    Redis Setex 命令基本语法如下:

    redis 127.0.0.1:6379> SETEX KEY_NAME TIMEOUT VALUE

    示例

    1 redis 127.0.0.1:6379> SETEX mykey 60 redis
    2 OK
    3 redis 127.0.0.1:6379> TTL mykey
    4 60
    5 redis 127.0.0.1:6379> GET mykey
    6 "redis
  • 相关阅读:
    反垃圾邮件技术已转移到云计算中 狼人:
    被黑客NeoN“附体” QQ为推产品谎报漏洞 狼人:
    360到底如何判断泄密的? 狼人:
    Orkut 也遭到 XSS 攻击,18 万用户受影响 狼人:
    僵尸网络产生的垃圾邮件占全球的40% 狼人:
    Stuxnet病毒全球肆虐 将影响我国众多企业 狼人:
    地狱黑客给你的十大网络安全防范建议 狼人:
    微博疯传电脑提速“秘技” 360安全专家称纯属忽悠 狼人:
    微软称Google的Chrome Frame 让 IE 攻击翻倍 狼人:
    陈天桥:欣赏360保护隐私 用户安全永远第一 狼人:
  • 原文地址:https://www.cnblogs.com/luizw/p/11003965.html
Copyright © 2020-2023  润新知