redis 修改值不設(shè)置過期時間 Redis有哪些鍵命令?
Redis有哪些鍵命令?謝邀!??!redis日常運維中,具體用法的命令反正不是太多:redis容許條件查詢key有3個通配符*、?、[]randomkey:回必掉keytypekey:回key存儲位置
Redis有哪些鍵命令?
謝邀!??!
redis日常運維中,具體用法的命令反正不是太多:
redis容許條件查詢key有3個通配符*、?、[]
randomkey:回必掉key
typekey:回key存儲位置的類型
existskey:確定某個key有無必然
delkey:徹底刪除key
renamekeynewkey:改稱
renamenxkeynewkey:假如newkey不未知則直接修改成功
nextsign1:將key聯(lián)通到1數(shù)據(jù)庫
ttlkey:網(wǎng)站查詢key的生命周期(秒)
expirekey整數(shù)值:設(shè)置中key的生命周期以秒為單位
pexpirekey整數(shù)值:設(shè)置key的生命周期以10ms為單位
pttlkey:去查詢key的生命周期(10ms)
perisistkey:把更改clientkey系統(tǒng)設(shè)置為永久有效
etkeyvalue[ex秒數(shù)][px10毫秒數(shù)][nx/xx],假如ex和px同樣的寫,則以后面的有效期不一致
nx:如果key不存在則成立
xx:如果不是key修真者的存在則可以修改其值
getkey:取值
msetclientkey1value1key2value2一次可以設(shè)置多個值
mgetfoobar1key2:四次查看多個值
setrangekeyoffsetvalue:把字符串的offset偏移字節(jié)該成value
如果沒有偏移量dstrok字符串長度,該字符自動啟動補0x00
appendkeyvalue:把value賞分到key的原值上
getrangekeystartstop:查看字符串中[start,stop]范圍的值,是對字符串的下標,左數(shù)從0正在,右數(shù)從-1結(jié)束,再注意:當startgtlength,則返回空字符串,當stopgtlength,則截取片段至字符串尾,假如start所處位置在stop右邊,則直接返回空字符串getsetkeynrevalue:聲望兌換并返回舊值,在設(shè)置中新值
incrkey:自增,回新值,要是incr個不是int的value則回錯誤,incr一個不存在地的key,則設(shè)置里sign為1
incrbyclientkey2:跳2自增
incrbyfloat六花禁愛0.7:自增浮點數(shù)
setbitkeyoffsetvalue:設(shè)置中offset對應(yīng)二進制上的值,返回該位上的舊值
注意:要是offset過大,則會在中間填充,offset最大到多少,2^32-1,即可再推出比較大的字符串為512M
bitopoperationdestkeysign1[key2..],對clientkey1sign2做opecation并將結(jié)果存放在destkey上,opecation是可以是ANDOR NOTXOR
strlenkey:取委托key的value值的長度
setexkeytimevalue:設(shè)置里key不對應(yīng)的值value,并可以設(shè)置有效期為time秒舉例說明以下命令及具體詳細用法只能證明,期望對大家有幫助,如遇不對,請鑒諒,謝謝??!
如何使用RedisTemplate訪問Redis數(shù)據(jù)結(jié)構(gòu)?
在springboot項目中,板載顯卡各種框架變得更加相當很難。下面簡單可以介紹幫一下忙該如何在springboot項目中獨立顯卡單機模式redis。集群模式也差不多,這里就不過多能介紹了。
簡單你得安裝好redis服務(wù),不論在linux那就windows系統(tǒng)上。如果就沒直接安裝,請一一百度或不使用其他科學(xué)網(wǎng)站幫助。接著不需要在項目的配置文件中配置redis咨詢參數(shù)以及可以設(shè)置jedis連接池的參數(shù)??煽梢詤⒖枷聢D配置
而本人在用了maven來形成完整項目,因為不需要在項目的pom文件中加入到redis咨詢依賴。
之后就不需要基于redis配置文件類。配置文件的jedis連接上池配置就不列不出來了,再說那是根本不properties文件來一步一步系統(tǒng)設(shè)置,連接工廠也是跟再連接池?zé)o關(guān)。這里重要推薦下redisTemplate的實現(xiàn),以及與redis操作工具類的配合建議使用。可以不依據(jù)下圖來通過個性化設(shè)置:
基于配置文件后,就這個可以在redis工具類RedisUtil中使用redisTemplate了。如下圖所示:
這里redisTemplate類的對象是在redis配置好不好類中基于的。然后將RedisUtil通過注解真接匯聚到spring容器中去,時的在用工具類的setRedisTemplate方法實例化RedisTemplate。這樣的話就能然后@AutoWired注解去裝配零件Bean了。
在RedisUtil工具類中,我們?nèi)ゲ僮鲾?shù)據(jù)結(jié)構(gòu)。哪怕一般數(shù)據(jù)(String),還是Map數(shù)據(jù)結(jié)構(gòu),肯定List數(shù)據(jù)結(jié)構(gòu),都是你所選的操作方法。如下圖:
工具類完成后,在或則的服務(wù)層在用這個工具類來你的操作redis的數(shù)據(jù)結(jié)構(gòu)基于你所選業(yè)務(wù)。
以上就是一個redis操作類在speingboot項目中的很簡單實現(xiàn)程序。除開數(shù)據(jù)結(jié)構(gòu)的操作,我們還能使用redis的特性來實現(xiàn)一些業(yè)務(wù)場景某種特定的功能。例如建議使用increment方法實現(xiàn)方法點贊功能;憑借redis單線程特性生成任何主鍵;將redis與Lua腳本相結(jié)合,基于redis分布式鎖,其實這是需要考慮到業(yè)務(wù)時間與快到期時間的關(guān)系問題。
之外,在使用redis過程中肯定不需要決定到雪崩、穿透和擊壞等問題,這也是在面試過程中偶爾會問到的問題。祝你愉快。