Redis資料類型

來源:互聯網
上載者:User

標籤:二進位   local   

四、Redis資料類型
string是最簡單的類型,你可以理解成Memcached一樣的類型,一個key對應一個value,騎上支援的操作與Memcached的操作類似,它的功能更豐富。設定可以存二進位的對象。
/usr/local/redis/bin/redis-cli 

127.0.0.1:6379> mset key1 szk key2 love key3 yc
OK
127.0.0.1:6379> mget key1 key2 key3
1) "szk"
2) "love"
3) "yc"


list是一個鏈表結構,主要功能是push、pop、擷取一個範圍的所有值等等。操作中key理解為連結的名字。使用List結構,我們可以輕鬆的實現最新訊息排行等功能。List的另一個應用就是訊息佇列,可以利用list的push操作,將任務存在list中,然後背景工作執行緒再用pop操作將任務取出進行執行。


127.0.0.1:6379> lpush list1 123
(integer) 1
127.0.0.1:6379> lpush list1 aaa
(integer) 2
127.0.0.1:6379> lpush list1 "123 456"
(integer) 3
127.0.0.1:6379> rpop list1
"123"
127.0.0.1:6379> rpop list1
"aaa"
127.0.0.1:6379> rpop list1

set是集合,和我們數學中的集合概念類似,對集合的操作有添加刪除元素,有對多個集合求交並差等操作。操作中key理解為集合的名字。比如在微博應用中,可以將一個使用者所有的關注人存在一個集合中,將其所有粉絲存在一個集合。因為Redis非常人性化的為幾個提供了求交集、並集、差集等操作,那麼就可以非常方便的實現如共同關注、共同喜好、二度好友等功能,對上面的所有集合 操作,你還可以使用不同的命令選擇將結果返回給用戶端還是存集到一個新的集合中。QQ有一個社交功能叫做"好友標籤",這時就可以使用redis的集合來實現,把每一個使用者的標籤都儲存在一個集合之中。

127.0.0.1:6379> sadd set1 zbc
(integer) 1
127.0.0.1:6379> sadd set1 szk
(integer) 1
127.0.0.1:6379> smembers set1
1) "zbc"

sorted set是有序集合,它比set多了一個權重參數score,使得集合中的元素能夠按score進行有序排列,比如一個儲存全班同學成績的Sorted Sets,其集合value可以是同學的學號,而score就可以是其考試得分,這樣在資料插入集合的時候,就已經進行了天然的排序。

127.0.0.1:6379> zadd mset2 2 "cde 123"
(integer) 1
127.0.0.1:6379> zadd mset2 4 "a123a"
(integer) 1
127.0.0.1:6379> zadd mset2 24 "123-aaa"
(integer) 1
127.0.0.1:6379> zrange mset2 0 -1
1) "cde 123"
2) "a123a"
3) "123-aaa"

hash:在memcached中,經常將一些結構化的資訊打包成hashmap,在用戶端序列化後儲存為一個字串的值(一般是JSON格式),比如使用者的暱稱、年齡、性別、積分等。

五、Redis持久化

  • Redis提供了兩種持久化的方式,分別是RDB(Redis DataBase)和AOF(Append Only FIle)

  • RDB,簡而言之,就是在不同的時間點,將redis儲存的資料產生快照並儲存到磁碟等介質上。

  • AOF,則是換了一個角度來實現持久化,那就是redis執行過的所有寫指令記錄下來,在下次redis重新啟動時,只要把這些寫指令從前到後重複執行一遍,就可以實現資料恢複了。

  • 其實RDB和AOF兩種方式也可以同時使用,在這種情況下,如果redis重啟的話,則會優先採用AOF方式來進行資料恢複,這是因為AOF方式的資料恢複完整度更高。

  • 如果你沒有資料持久化的需求,也完全可以關閉RDB和AOF方式,這樣的話,redis將變成一個純記憶體資料庫,就像memcached一樣。


Redis資料類型

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.