第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有人遇到過這個問題哈!Redis 有序列表第一次添加時設(shè)置生存時間?謝謝哈~

有沒有人遇到過這個問題哈!Redis 有序列表第一次添加時設(shè)置生存時間?謝謝哈~

慕慕森 2019-10-08 12:12:30
Redis有序列表使用zAdd方法添加key,如果key不存在則創(chuàng)建之,但是這個方法不支持設(shè)置過期時間,不能像SET那樣在創(chuàng)建的時候設(shè)置生存時間。目前的解決方案是這樣的,在使用zAdd之前先用exist方法判斷一下key是否存在,記一個值(true/false),然后調(diào)用過zAdd之后,再根據(jù)之前記的值來判斷是否設(shè)置生存時間。相關(guān)代碼$myKey='h123';$first=!$redis->exists($myKey);$redis->zAdd($myKey,[],123,'aaaaaaa');if($first){$redis->expire(3600*24);}有沒有更加優(yōu)雅的寫法呢?或者說其他我不知道的redis命令?注:可能是我的描述不清楚,我要設(shè)的就是外層的key的生存時間,就是這個有序列表的生存時間,上面的代碼已經(jīng)實現(xiàn)了我的要求,只不過不太優(yōu)雅,所以有沒有更好的方式呢?
查看完整描述

2 回答

?
富國滬深

TA貢獻(xiàn)1790條經(jīng)驗 獲得超9個贊

redis只能針對最外層的key設(shè)置過期時間,內(nèi)層的key都不行,set、zset、list的元素都不可以單獨(dú)設(shè)置過期。你說的set設(shè)置過期確定是對里面的元素設(shè)置?。?pre>
                            
查看完整回答
反對 回復(fù) 2019-10-08
?
蠱毒傳說

TA貢獻(xiàn)1895條經(jīng)驗 獲得超3個贊

猜測題主應(yīng)該想要:setex的效果,但SortedSet是沒有提供類似的方法的。另外,按這個代碼描述,這個緩存的過期時間是只能在創(chuàng)建時設(shè)置,后續(xù)不能刷新?如果是,那么即使是setex也無法滿足,必須要做exists判斷;如果不是,只調(diào)expire就可以了。
                            
查看完整回答
反對 回復(fù) 2019-10-08
  • 2 回答
  • 0 關(guān)注
  • 313 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號