Redis中常用五種資料結構
Redis是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。從2010年3月15日起,Redis的開發工作由VMware主持。從2013年5月開始,Redis的開發由Pivotal贊助。
而且Redis是一個key-value儲存系統。和Memcached類似,它支援儲存的value型別相對更多,包括string(字串)、list(連結串列)、set(集合)、zset(sorted set --有序集合)和hash(雜湊型別)。這些資料型別都支援push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支援各種不同方式的排序。與memcached一樣,為了保證效率,資料都是快取在記憶體中。區別的是redis會週期性的把更新的資料寫入磁碟或者把修改操作寫入追加的記錄檔案,並且在此基礎上實現了master-slave(主從)同步。
- string 資料型別
string 是Redis的最基本的資料型別,可以理解為與 Memcached 一模一樣的型別,一個key 對應一個 value。string 型別是二進位制安全的,意思是 Redis 的 string 可以包含任何資料,比如圖片或者序列化的物件,一個 redis 中字串 value 最多可以是 512M。
上面是 string 型別的基本命令,下面介紹幾個自增自減操作,這在實際工作中還是特別有用的(分散式環境中統計系統的線上人數,利用Redis的高效能讀寫,在Redis中完成秒殺,而不是直接操作資料庫。)
- hash 資料型別
hash 是一個鍵值對集合,是一個 string 型別的 key和 value 的對映表,key 還是key,但是value是一個鍵值對(key-value)。類比於 Java裡面的 Map<String,Map<String,Object>> 集合。
- list 資料型別
list 列表,它是簡單的字串列表,按照插入順序排序,你可以新增一個元素到列表的頭部(左邊)或者尾部(右邊),它的底層實際上是個連結串列。
- set 資料型別
Redis 的 set 是 string 型別的無序集合。
- zset 資料型別
zset(sorted set 有序集合),和上面的set 資料型別一樣,也是 string 型別元素的集合,但是它是有序的。
這就是redis中五種基本的資料型別和相關命令,更多幹貨和資料請直接聯絡我,也可以加群710520381,邀請碼:柳貓,歡迎大家共同討論