4、事務數據庫
Redis中的事務是一組命令的集合。事務同命令同樣都是Redis的最小執行單位,一個事務的命令要麼所有執行,要麼所有不執行。網絡
事務的原理是先將一個事務的命令發給Redis,而後再讓Redis依次執行這些命令。排序
須要注意的是Redis並無提過像關係型數據庫那樣的回滾功能!不過因爲Redis不支持回滾,這也使得Redis在事務上的開發更簡潔快速。隊列
語法:事務
MULTI //這裏是通知Redis將要進入事務操做,並將語句存儲在事務隊列裏開發
執行語句監控
EXEC //真正的開始執行事務語句原理
4.1 WATCH命令分頁
WATCH命令能夠監控一個或多個鍵,一旦其中有一個 鍵被修改或刪除,其後的事務就不會執行。監控一直持續到EXEC命令。語法
4.2 生存時間
在Redis中可使用EXPIRE命令設置一個鍵的生存時間,到時間後Redis會自動刪除它。
語法:EXPIRE key seconds //seconds表示鍵的生存時間,單位是秒。命令返回1表示設置成功,返回0則表示鍵不存在或設置失敗。
TTL key //以秒爲單位返回鍵的剩餘時間
若想取消鍵的生存時間可使用PERSIST key 或者 使用SET/GETSET命令爲鍵從新賦值也會取消鍵的生存時間。
當從新調用EXPIRE命令時會從新設置鍵的生存時間。
EXPIRE key 1 = PEXPIRE 1000 //這兩個等價,PEXPIERE以毫秒爲單位
注意:若某一有生存時間的鍵被WATCH命令監視,當該鍵時間到期自動刪除時並不會被WATCH認爲該鍵被改變。
4.3 SORT命令
SORT命令能夠對列表類型、集合類型和有序集合類型鍵進行排序。
SORT key //從小到大排序
SORT key DESC //從大到小排序
分頁排序:
SORT key DESC LIMIT offset count //表示跳過offset個元素並獲取以後的count個元素
4.5 管道
客戶端和Redis使用TCP協議鏈接。無論是客戶端向Redis發送請求仍是Redis向客戶端響應信息,都是經過網絡傳輸進行的,這兩個部分的總耗時稱爲往返時延。
經過管道客戶端一次性將信息發出,而後Redis一次性將信息結果返回,管道經過減小客戶端與Redis的交互次數來縮短往返時延。