今天就跟大家聊聊有關(guān)redis特性是什么呢,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、小程序設(shè)計(jì)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了輝南免費(fèi)建站歡迎大家使用!
一、鍵的生存時(shí)間expire
redis可以使用expire命令設(shè)置一個(gè)鍵的生存時(shí)間,到時(shí)間后redis會(huì)自動(dòng)刪除它
命令:
① expire 設(shè)置生存時(shí)間(單位/秒) expire a 10
②pexpire 設(shè)置生存時(shí)間(單位/毫秒)
③ttl/pttl 查看鍵的剩余生存時(shí)間 ttl a
④persist 取消生存時(shí)間
⑤expireat [key] unix時(shí)間戳1351858600
⑥pexpireat [key] unix時(shí)間戳(毫秒)1351858700000
應(yīng)用場(chǎng)景:
① 限時(shí)的優(yōu)惠活動(dòng)信息
②網(wǎng)站數(shù)據(jù)緩存(對(duì)于一些需要定時(shí)更新的數(shù)據(jù),例如:積分排行榜)
③限制網(wǎng)站訪客訪問(wèn)頻率(例如:1分鐘最多訪問(wèn)10次)
二、redis的事務(wù)(transaction)
redis事務(wù)是一組命令的集合,事務(wù)和命令一樣是執(zhí)行的的最小單元,一個(gè)事務(wù)的命令的集合要命都執(zhí)行,要命都不執(zhí)行;redis事務(wù)實(shí)現(xiàn)原理是先將命令進(jìn)行緩存,然后再讓redis按照順序執(zhí)行這些命令。
注意:redis的事務(wù)是不支持回滾的,一旦失敗就必須重新執(zhí)行事務(wù)命令的集合,也正因?yàn)閞edis事務(wù)不支持回滾才使得redis的事務(wù)可以保持簡(jiǎn)潔和快速。在十五執(zhí)行過(guò)程中可以使用watch名流那個(gè)對(duì)指定的鍵的狀態(tài)進(jìn)行監(jiān)控;
監(jiān)控一個(gè)或者多個(gè)鍵,當(dāng)被監(jiān)控的鍵值被修改后阻止之后的一個(gè)事務(wù)的執(zhí)行 但是不能保證其它客戶端不修改這一鍵值,所以我們需要在事務(wù)執(zhí)行失敗后重新執(zhí)行事務(wù)中的命令。
注意: 執(zhí)行完事務(wù)的exec命令之后,watch就會(huì)取消對(duì)所有鍵值的監(jiān)控
命令:
multi 事務(wù)開始
.....
exec 事務(wù)結(jié)束,開始執(zhí)行事務(wù)中的命令
discard 放棄事務(wù)
錯(cuò)誤處理:
1:語(yǔ)法錯(cuò)誤:致命的錯(cuò)誤,事務(wù)中的所有命令都不會(huì)執(zhí)行
2:運(yùn)行錯(cuò)誤:不會(huì)影響事務(wù)中其他命令的執(zhí)行
應(yīng)用場(chǎng)景:
一組命令必須同時(shí)都執(zhí)行,或者都不執(zhí)行。
我們想要保證一組命令在執(zhí)行的過(guò)程之中不被其它命令插入。
三、數(shù)據(jù)的排序(sort)
sort命令可以對(duì)列表類型,集合類型和有序集合類型,進(jìn)行排序。
命令:
sort key [desc] [limit offset count]
sort list desc
sort list limit 0 2 排序,從0開始取2條數(shù)據(jù)
sort list store tmp_list 排序后保存到tmplist里面
以上是對(duì)數(shù)字的排序
對(duì)字符排序如下:
sort list alpha 按照字典排序
by 參考鍵(參考鍵可以是字符串類型或者是hash類型的某個(gè)字段,hash類型的格式為:鍵名->字段名)
如果參考鍵中不帶*號(hào)則不排序
如果某個(gè)元素的參考鍵不存在,則默認(rèn)參考鍵的值為0
舉例:
list(1,2,3,4)
set score:1 20 score:2 68 score:3 56 score:4 88
sort list by score:*
lpush list 2 1 4 3
hmset post:1 title one time 13332190
hmset post:2 title two time 13332190
hmset post:3 title three time 13332190
hmset post:4 title four time 13332190
sort list by post:*->time desc 根據(jù)時(shí)間排序
sort list by post:*->time get post:*->title get post:*->time get # 連同排序字段也返回
擴(kuò)展 get參數(shù)(上面已經(jīng)用過(guò)了)
get參數(shù)的規(guī)則和by參數(shù)的規(guī)則一樣
get # (返回元素本身的值)
擴(kuò)展 store參數(shù)
使用store 參數(shù)可以把sort的排序結(jié)果保存到指定的列表中
性能優(yōu)化
1:盡可能減少待排序鍵中元素的數(shù)量
2:使用limit參數(shù)只獲取需要的數(shù)據(jù)
3:如果要排序的數(shù)據(jù)數(shù)量很大,盡可能使用store參數(shù)將結(jié)果緩存。
四、redis中的config命令
使用config set可以動(dòng)態(tài)設(shè)置參數(shù)信息,服務(wù)器重啟之后就失效了。
config set appendonly yes
config set save "90 1 30 10 60 100"
使用config get可以查看所有可以使用config set命令設(shè)置的參數(shù)
config get *
使用config rewrite命令對(duì)啟動(dòng) Redis 服務(wù)器時(shí)所指定的 redis.conf 文件進(jìn)行改寫(Redis 2.8 及以上版本才可以使用),主要是 把使用config set動(dòng)態(tài)指定的命令保存到配置文件中。
config rewrite
注意:config rewrite命令對(duì) redis.conf 文件的重寫是原子性的, 并且是一致的: 如果重寫出錯(cuò)或重寫期間服務(wù)器崩潰, 那么重寫失敗, 原有 redis.conf 文件不會(huì)被修改。 如果重寫成功, 那么 redis.conf 文件為重寫后的新文件。
看完上述內(nèi)容,你們對(duì)redis特性是什么呢有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
當(dāng)前標(biāo)題:redis特性是什么呢
網(wǎng)頁(yè)路徑:http://chinadenli.net/article46/goeghg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、用戶體驗(yàn)、動(dòng)態(tài)網(wǎng)站、靜態(tài)網(wǎng)站、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)