Redis过期时间设置

684 阅读2分钟

1.redis过期时间介绍

redis-cli -h 192.168.20.218 -p 6379 -a Jgw@31500 --raw

有时候我们并不希望redis的key一直存在。例如缓存,验证码等数据,我们希望它们能在一定时间内自动的被销毁。redis提供了一些命令,能够让我们对key设置过期时间,并且让key过期之后被自动删除

redis登录脚本命令 redis-cli -h 192.168.20.218 -p 6379 -a Jgw@31500 --raw

2.redis过期时间相关命令

1.EXPIRE PEXPIRE

    EXPIRE 接口定义:EXPIRE key "seconds"
接口描述:设置一个key在当前时间"seconds"(秒)之后过期。返回1代表设置成功,返回0代表key不存在或者无法设置过期时间。

      PEXPIRE 接口定义:PEXPIRE key "milliseconds"
接口描述:设置一个key在当前时间"milliseconds"(毫秒)之后过期。返回1代表设置成功,返回0代表key不存在或者无法设置过期时间。

image.png

2.EXPIREAT PEXPIREAT

    EXPIREAT 接口定义:EXPIREAT key "timestamp"
接口描述:设置一个key在"timestamp"(时间戳(秒))之后过期。返回1代表设置成功,返回0代表key不存在或者无法设置过期时间。


PEXPIREAT 接口定义:PEXPIREAT key "milliseconds-timestamp"
接口描述:设置一个key在"milliseconds-timestamp"(时间戳(毫秒))之后过期。返回1代表设置成功,返回0代表key不存在或者无法设置过期时间

3.TTL PTTL

    TTL 接口定义:TTL key
接口描述:获取key的过期时间。如果key存在过期时间,返回剩余生存时间(秒);如果key是永久的,返回-1;如果key不存在或者已过期,返回-2。


PTTL 接口定义:PTTL key
接口描述:获取key的过期时间。如果key存在过期时间,返回剩余生存时间(毫秒);如果key是永久的,返回-1;如果key不存在或者已过期,返回-2。

image.png

4.PERSIST

    PERSIST 接口定义:PERSIST key
接口描述:移除key的过期时间,将其转换为永久状态。如果返回1,代表转换成功。如果返回0,代表key不存在或者之前就已经是永久状态。     

image.png

Redis EXISTS命令用于检查键是否存在于Redis中。

返回值
一个整数值,如下:

  • 如果键存在,返回 1
  • 如果键不存在,返回 0

image.png

3.redis设置最大连接数和内存

作用:防止redis-server占用过大的内存,导致服务器资源消耗

设置最大连接数:
config set maxclients 100

设置最大内存:
config set maxmemory 4gb

重启redis
sudo service redis restart

redis 批量删除带eyL的key(密码是123456)
无需链接redis-cli,直接在终端输入命令

redis-cli -h 192.168.20.218 -p 6379 -a  123456 --scan --pattern 'eyL*' | xargs redis-cli -h 192.168.20.218 -p 6379 -a  123456  del