您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關redis特性是什么呢,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
一、鍵的生存時間expire
redis可以使用expire命令設置一個鍵的生存時間,到時間后redis會自動刪除它
命令:
① expire 設置生存時間(單位/秒) expire a 10
②pexpire 設置生存時間(單位/毫秒)
③ttl/pttl 查看鍵的剩余生存時間 ttl a
④persist 取消生存時間
⑤expireat [key] unix時間戳1351858600
⑥pexpireat [key] unix時間戳(毫秒)1351858700000
應用場景:
① 限時的優惠活動信息
②網站數據緩存(對于一些需要定時更新的數據,例如:積分排行榜)
③限制網站訪客訪問頻率(例如:1分鐘最多訪問10次)
二、redis的事務(transaction)
redis事務是一組命令的集合,事務和命令一樣是執行的的最小單元,一個事務的命令的集合要命都執行,要命都不執行;redis事務實現原理是先將命令進行緩存,然后再讓redis按照順序執行這些命令。
注意:redis的事務是不支持回滾的,一旦失敗就必須重新執行事務命令的集合,也正因為redis事務不支持回滾才使得redis的事務可以保持簡潔和快速。在十五執行過程中可以使用watch名流那個對指定的鍵的狀態進行監控;
監控一個或者多個鍵,當被監控的鍵值被修改后阻止之后的一個事務的執行 但是不能保證其它客戶端不修改這一鍵值,所以我們需要在事務執行失敗后重新執行事務中的命令。
注意: 執行完事務的exec命令之后,watch就會取消對所有鍵值的監控
命令:
multi 事務開始
.....
exec 事務結束,開始執行事務中的命令
discard 放棄事務
錯誤處理:
1:語法錯誤:致命的錯誤,事務中的所有命令都不會執行
2:運行錯誤:不會影響事務中其他命令的執行
應用場景:
一組命令必須同時都執行,或者都不執行。
我們想要保證一組命令在執行的過程之中不被其它命令插入。
三、數據的排序(sort)
sort命令可以對列表類型,集合類型和有序集合類型,進行排序。
命令:
sort key [desc] [limit offset count]
sort list desc
sort list limit 0 2 排序,從0開始取2條數據
sort list store tmp_list 排序后保存到tmplist里面
以上是對數字的排序
對字符排序如下:
sort list alpha 按照字典排序
by 參考鍵(參考鍵可以是字符串類型或者是hash類型的某個字段,hash類型的格式為:鍵名->字段名)
如果參考鍵中不帶*號則不排序
如果某個元素的參考鍵不存在,則默認參考鍵的值為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 根據時間排序
sort list by post:*->time get post:*->title get post:*->time get # 連同排序字段也返回
擴展 get參數(上面已經用過了)
get參數的規則和by參數的規則一樣
get # (返回元素本身的值)
擴展 store參數
使用store 參數可以把sort的排序結果保存到指定的列表中
性能優化
1:盡可能減少待排序鍵中元素的數量
2:使用limit參數只獲取需要的數據
3:如果要排序的數據數量很大,盡可能使用store參數將結果緩存。
四、redis中的config命令
使用config set可以動態設置參數信息,服務器重啟之后就失效了。
config set appendonly yes
config set save "90 1 30 10 60 100"
使用config get可以查看所有可以使用config set命令設置的參數
config get *
使用config rewrite命令對啟動 Redis 服務器時所指定的 redis.conf 文件進行改寫(Redis 2.8 及以上版本才可以使用),主要是 把使用config set動態指定的命令保存到配置文件中。
config rewrite
注意:config rewrite命令對 redis.conf 文件的重寫是原子性的, 并且是一致的: 如果重寫出錯或重寫期間服務器崩潰, 那么重寫失敗, 原有 redis.conf 文件不會被修改。 如果重寫成功, 那么 redis.conf 文件為重寫后的新文件。
看完上述內容,你們對redis特性是什么呢有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。