zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Python的运算符
    RabbitMQ 的配置文件
    安装新版本的rabbitmq
    Ubuntu 16.04 安装rabbitmq
    Python Web 版本tailf, grep
    解决pycharm问题:module 'pip' has no attribute 'main'
    Python argparse
    Ansible 并行和异步
    cef相关
    浏览器透明设置例子,qt5.6才支持
  • 原文地址:https://www.cnblogs.com/luizw/p/11003965.html
Copyright © 2011-2022 走看看