shell批量設(shè)置key過(guò)期時(shí)間的兩種方法步驟
1、腳本如下,這個(gè)腳本的作用是找到redis中某個(gè)數(shù)據(jù)庫(kù)下的所有key,并批量設(shè)置統(tǒng)一的過(guò)期時(shí)間(這種工作最好交給開(kāi)發(fā)來(lái)做)
(1)通過(guò)shell腳本批量設(shè)置db1中所有key的過(guò)期時(shí)間
#!/usr/bin/env bash #查詢db1下的所有key,并批量設(shè)置統(tǒng)一過(guò)期時(shí)間 #獲取db1下的所有key,并通過(guò)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)一的過(guò)期時(shí)間為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的過(guò)期時(shí)間已經(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、這個(gè)腳本的作用是找到redis中沒(méi)有設(shè)置過(guò)過(guò)期時(shí)間的key,并批量設(shè)置統(tǒng)一的過(guò)期時(shí)間為1小時(shí)
#!/usr/bin/env bash #查詢db1中哪些key沒(méi)有設(shè)置過(guò)期時(shí)間,并批量設(shè)置統(tǒng)一過(guò)期時(shí)間為15天(1296000秒) #查詢db1中的所有key并通過(guò)while循環(huán)賦值給變量key /alidata/redis/bin/redis-cli -h 127.0.0.1 -p 6381 -n 1 keys '*' | while read key do #獲取db1中每一個(gè)key的過(guò)期時(shí)間 key_val=`/alidata/redis/bin/redis-cli -h 127.0.0.1 -p 6381 -n 1 ttl ${key}` #判斷哪些key沒(méi)有設(shè)置過(guò)期時(shí)間 if [ "$key_val" -eq "-1" ] then #將db1中沒(méi)有設(shè)置過(guò)期時(shí)間的key重新設(shè)置過(guò)期時(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ò)期時(shí)間的方法步驟的文章就介紹到這了,更多相關(guān)shell批量設(shè)置key過(guò)期時(shí)間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Linux服務(wù)器硬件運(yùn)行狀態(tài)及故障郵件提醒的監(jiān)控腳本分享
這篇文章主要介紹了Linux服務(wù)器硬件運(yùn)行狀態(tài)及故障郵件提醒的監(jiān)控腳本分享,能夠測(cè)試CPU和內(nèi)存的占用狀況以及HTTP端的異常,需要的朋友可以參考下2016-03-03Linux batch命令詳解(在系統(tǒng)不繁忙的時(shí)候執(zhí)行定時(shí)任務(wù))
batch命令 用于在指定時(shí)間,當(dāng)系統(tǒng)不繁忙時(shí)執(zhí)行任務(wù),用法與at相似,這篇文章主要介紹了Linux batch命令(在系統(tǒng)不繁忙的時(shí)候執(zhí)行定時(shí)任務(wù)),需要的朋友可以參考下2024-02-02Shell執(zhí)行/調(diào)用Java/Jar程序例子的實(shí)例詳解
這篇文章主要介紹了Shell執(zhí)行/調(diào)用Java/Jar程序例子的實(shí)例詳解的相關(guān)資料,這里提供實(shí)例幫助大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-08-08Shell腳本用for循環(huán)遍歷參數(shù)的方法技巧
今天小編就為大家分享一篇關(guān)于Shell腳本用for循環(huán)遍歷參數(shù)的方法技巧,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03shell批量修改主機(jī)密碼的實(shí)現(xiàn)示例
由于機(jī)器數(shù)量眾多,因此采用批量修改密碼的方式來(lái)進(jìn)行處理,本文主要介紹了shell批量修改主機(jī)密碼的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12Shell?腳本自動(dòng)輸入密碼的三種方式小結(jié)
本文主要介紹了Shell?腳本自動(dòng)輸入密碼的三種方式小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07使用Shell 腳本實(shí)現(xiàn)每隔100行插入一條記錄且記錄第一列包含行號(hào)其他列不變
本文通過(guò)實(shí)例代碼給大家講解了使用Shell 腳本實(shí)現(xiàn)每隔100行插入一條記錄且記錄第一列包含行號(hào)其他列不變的實(shí)現(xiàn)方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下2016-12-12