shell批量设置key过期时间的两种方法步骤

 更新时间:2025年03月18日 10:18:01   作者:会飞的爱迪生  
本文主要介绍了shell批量设置key过期时间的两种方法步骤,包括设置 Redis db1中所有key的过期时间,和设置未设置过期时间key的过期时间为1小时,具有一定的参考价值,感兴趣的可以了解一下

1、脚本如下,这个脚本的作用是找到redis中某个数据库下的所有key,并批量设置统一的过期时间(这种工作最好交给开发来做)

(1)通过shell脚本批量设置db1中所有key的过期时间

#!/usr/bin/env bash
#查询db1下的所有key,并批量设置统一过期时间

#获取db1下的所有key,并通过while循环赋值给变量key,-n 1表示进入db1
/alidata/redis/bin/redis-cli -h 127.0.0.1 -p 6381  -n 1 keys  '*' |    
while read key
do    
    #进入db1并批量设置统一的过期时间为1296000秒
    /alidata/redis/bin/redis-cli -h 127.0.0.1 -p 6381  -n 1 expire ${key} 1296000 
done

(2)登录redis-6381查看效果

[root@jxq-c2-16-2 shell]# sh redis_ttl.sh           #执行脚本
(integer) 1
(integer) 1
(integer) 1

#登录reids6381
[root@jxq-c2-16-2 shell]# /alidata/redis/bin/redis-cli -h 127.0.0.1 -p 6381   
127.0.0.1:6381> select 1                  #进入db1
OK
127.0.0.1:6381[1]> keys *
1) "name3"
2) "rocen4"
3) "wenqiang"
127.0.0.1:6381[1]> ttl name3             #db1下所有key的过期时间已经修改为15天
(integer) 1295970
127.0.0.1:6381[1]> ttl rocen4
(integer) 1295963
127.0.0.1:6381[1]> ttl wenqiang
(integer) 1295959

2、这个脚本的作用是找到redis中没有设置过过期时间的key,并批量设置统一的过期时间为1小时

#!/usr/bin/env bash
#查询db1中哪些key没有设置过期时间,并批量设置统一过期时间为15天(1296000秒)

#查询db1中的所有key并通过while循环赋值给变量key
/alidata/redis/bin/redis-cli -h 127.0.0.1 -p 6381  -n 1 keys  '*' |
while read key
do
    #获取db1中每一个key的过期时间
    key_val=`/alidata/redis/bin/redis-cli -h 127.0.0.1 -p 6381  -n 1 ttl ${key}`
    #判断哪些key没有设置过期时间
    if [ "$key_val" -eq "-1" ]
    then
        #将db1中没有设置过期时间的key重新设置过期时间为3600s
        /alidata/redis/bin/redis-cli -h 127.0.0.1 -p 6381  -n 1 expire ${key} 3600
    fi
    
done

到此这篇关于shell批量设置key过期时间的方法步骤的文章就介绍到这了,更多相关shell批量设置key过期时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基础的Linux Shell技巧小结

    基础的Linux Shell技巧小结

    这篇文章主要介绍了基础的Linux Shell技巧小结,是Linux入门学习中的基础知识,需要的朋友可以参考下
    2015-07-07
  • linux下2个检查tcp连接的命令

    linux下2个检查tcp连接的命令

    这篇文章主要介绍了linux下2个检查tcp连接的命令,需要的朋友可以参考下
    2016-08-08
  • Linux查看端口占用情况的常用命令

    Linux查看端口占用情况的常用命令

    这篇文章主要给大家介绍了Linux查看端口占用情况的常用命令,lsof命令,netstat命令,ss命令,fuser命令,ps命令以及proc文件系统这几种常用命令,感兴趣的小伙伴跟着小编一起来看看吧
    2023-11-11
  • linux下passwd命令设置修改用户密码的方法

    linux下passwd命令设置修改用户密码的方法

    下面小编就为大家带来一篇linux下passwd命令设置修改用户密码的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • linux下tomcat常用操作

    linux下tomcat常用操作

    这篇文章主要介绍了linux下tomcat常用操作,需要的朋友可以参考下
    2017-06-06
  • shell脚本监控系统负载、CPU和内存使用情况

    shell脚本监控系统负载、CPU和内存使用情况

    这篇文章主要介绍了shell脚本监控系统负载、CPU和内存使用情况,本文分别给出监控服务器系统负载情况、监控系统cpu使用情况、、监控系统内存情况、监控系统交换分区swap使用情况的脚本,需要的朋友可以参考下
    2014-12-12
  • shell脚本语言的使用(超全超详细)

    shell脚本语言的使用(超全超详细)

    这篇文章主要介绍了shell脚本语言的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Linux xargs命令如何将命令的结果作为参数

    Linux xargs命令如何将命令的结果作为参数

    xargs是给命令传递参数的一个过滤器,也是组合多个命令的工具,这篇文章主要介绍了Linux xargs命令如何将命令的结果作为参数,需要的朋友可以参考下
    2023-04-04
  • Shell脚本实现监测文件变化的示例详解

    Shell脚本实现监测文件变化的示例详解

    这篇文章主要和大家分享一个Shell脚本,可以实现监测文件变化功能。文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-06-06
  • Linux 下C语言获取文件大小

    Linux 下C语言获取文件大小

    这篇文章主要介绍了Linux 下C语言获取文件大小的相关资料,需要的朋友可以参考下
    2017-07-07

最新评论