欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

shell批量設(shè)置key過期時間的兩種方法步驟

 更新時間:2025年03月18日 10:18:01   作者:會飛的愛迪生  
本文主要介紹了shell批量設(shè)置key過期時間的兩種方法步驟,包括設(shè)置?Redis?db1中所有key的過期時間,和設(shè)置未設(shè)置過期時間key的過期時間為1小時,具有一定的參考價值,感興趣的可以了解一下

1、腳本如下,這個腳本的作用是找到redis中某個數(shù)據(jù)庫下的所有key,并批量設(shè)置統(tǒng)一的過期時間(這種工作最好交給開發(fā)來做)

(1)通過shell腳本批量設(shè)置db1中所有key的過期時間

#!/usr/bin/env bash
#查詢db1下的所有key,并批量設(shè)置統(tǒng)一過期時間

#獲取db1下的所有key,并通過while循環(huán)賦值給變量key,-n 1表示進(jìn)入db1
/alidata/redis/bin/redis-cli -h 127.0.0.1 -p 6381  -n 1 keys  '*' |    
while read key
do    
    #進(jìn)入db1并批量設(shè)置統(tǒng)一的過期時間為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           #執(zhí)行腳本
(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                  #進(jìn)入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的過期時間已經(jīng)修改為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中沒有設(shè)置過過期時間的key,并批量設(shè)置統(tǒng)一的過期時間為1小時

#!/usr/bin/env bash
#查詢db1中哪些key沒有設(shè)置過期時間,并批量設(shè)置統(tǒng)一過期時間為15天(1296000秒)

#查詢db1中的所有key并通過while循環(huán)賦值給變量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沒有設(shè)置過期時間
    if [ "$key_val" -eq "-1" ]
    then
        #將db1中沒有設(shè)置過期時間的key重新設(shè)置過期時間為3600s
        /alidata/redis/bin/redis-cli -h 127.0.0.1 -p 6381  -n 1 expire ${key} 3600
    fi
    
done

到此這篇關(guān)于shell批量設(shè)置key過期時間的方法步驟的文章就介紹到這了,更多相關(guān)shell批量設(shè)置key過期時間內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論