1,檢視所有鍵: keys * ,時間複雜度 o(n)
2,鍵總數: dbsize ,時間複雜度是 o(1)
3,檢查鍵是否存在:exists key ,存在返回1,否則返回0
4,刪除鍵: del key ,成功則返回刪除鍵的個數,否則0。支援刪除多個鍵
5,鍵過期: expire key seconds
ttl 命令返回鍵的剩餘過期時間,有三種返回值
大於等於0的整數:鍵剩餘的過期時間。
-1:鍵沒設定過期時間
-2:鍵不存在
6,鍵的資料結構型別:type key。如果鍵不存在,則返回none
1,string: raw,int , embstr
2,hash: hashtable,ziplist
3:list:linkedlist,ziplist
4:set:hashtable,intset
5:zset:skiplist,ziplist
設計的好處:
1:可以改進內部編碼,對外的資料結構和命令沒有影響
2:多種內部編碼實現可以在不同場景下發揮各自優勢,例如 ziplist 比較節省記憶體,但列表元素多時效能會下降,這時redis會根據配置選項將列表型別記憶體實現轉換為linkedlist
redis使用單執行緒架構和io多路復用模型來實現高效能服務
優勢:1,純記憶體訪問,redis 將所有資料放在記憶體中,記憶體的響應時長約為100納秒。這也是red is達到每秒萬級別訪問的重要基礎
2,非阻塞io,redis 使用 epoll 作為 io多路復用技術的實現,再加上redis自身的事件處理模型將epoll 中的連線,讀寫,關閉 都轉換為事件,不在網路io上浪費時間
3,單執行緒避免了執行緒切換和競態產生的消耗
四:5種資料結構
string
常用命令
1,設定值:set key value [ex seconds] [px milliseconds] [nx | xx]
setex,setnx,***xx,set px
具體使用案例可參考:
資料結構NO1 概述
位 bit binary digit的簡稱,只能儲存1或0的二進位制數字。位元組 byte 8位構成乙個位元組。乙個位元組可存乙個字元。可表示256個不同的字元。常用的處理方式有下列幾種任務方式 排序 sort 將資料按照某一鍵值排序,以供後期提取 歸併 merge 將倆種以上相同性質的檔案資料歸併...
Redis 基礎資料結構
基礎資料型別 5種 string 字串 hash 雜湊 list 列表 set 集合 zset 有序集合 set key name value 命令用於設定給定key的值,如果key已經儲存其它值,則會覆蓋舊值,且與型別無關 get key name 命令用於獲取指定key的值,如果key不存在,則...
Redis 基礎資料結構
redis有5種基礎資料結構,分別是 string list hash set zset。1 string 字串 字串string是redis最簡單的資料結構,內部表示的就是乙個字元陣列。儲存值 set key value 獲取值 get key redis可以對多個字串進行批量讀寫。批量儲存 ms...