redis

1: redis可以用來存儲(數據存在內存中) 而memcached用來做緩存,是因爲Redis有持久化功能。

Redis中存儲的數據有多種數據結構(string,set , sorted set,list,hash),而memcached的存儲數據只有一種類型:  string

redis事務(支持部分事務)

MULTI(開啓事務)->入隊(queue)->執行(EXEC)

watch命令可以監控一個或多個鍵,一旦其中有一個鍵被修改或刪除,之後的事務就不會執行。監控一直持續到exec命令(事務中的命令是在exec後執行的)

在MULTI命令後可以修改watch監控的鍵值。

Redis 的 5 個常見使用場景
1、會話緩存(Session Cache)
    最常用的一種使用Redis的情景是會話緩存(session cache)。用Redis緩存會話比其他存儲(如Memcached)的優勢在於:Redis提供持久化。當維護一個不是嚴格要求一致性的緩存時,如果用戶的購物車信息全部丟失,大部分人都會不高興的,現在,他們還會這樣嗎?
幸運的是,隨着 Redis 這些年的改進,很容易找到怎麼恰當的使用Redis來緩存會話的文檔。甚至廣爲人知的商業平臺Magento也提供Redis的插件。
2、全頁緩存(FPC)
    除基本的會話token之外,Redis還提供很簡便的FPC平臺。回到一致性問題,即使重啓了Redis實例,因爲有磁盤的持久化,用戶也不會看到頁面加載速度的下降,這是一個極大改進,類似PHP本地FPC。
再次以Magento爲例,Magento提供一個插件來使用Redis作爲全頁緩存後端。
    此外,對WordPress的用戶來說,Pantheon有一個非常好的插件  wp-redis,這個插件能幫助你以最快速度加載你曾瀏覽過的頁面。
3、隊列
    Reids在內存存儲引擎領域的一大優點是提供 list 和 set 操作,這使得Redis能作爲一個很好的消息隊列平臺來使用。Redis作爲隊列使用的操作,就類似於本地程序語言(如Python)對 list 的 push/pop 操作。
如果你快速的在Google中搜索“Redis queues”,你馬上就能找到大量的開源項目,這些項目的目的就是利用Redis創建非常好的後端工具,以滿足各種隊列需求。例如,Celery有一個後臺就是使用Redis作爲broker,你可以從這裏去查看。
4.排行榜/計數器
    Redis在內存中對數字進行遞增或遞減的操作實現的非常好。集合(Set)和有序集合(Sorted Set)也使得我們在執行這些操作的時候變的非常簡單,Redis只是正好提供了這兩種數據結構。所以,我們要從排序集合中獲取到排名最靠前的10個用戶–我們稱之爲“user_scores”,我們只需要像下面一樣執行即可
    當然,這是假定你是根據你用戶的分數做遞增的排序。如果你想返回用戶及用戶的分數,你需要這樣執行:
ZRANGE user_scores 0 10 WITHSCORES
5、發佈/訂閱
    最後(但肯定不是最不重要的)是Redis的發佈/訂閱功能。發佈/訂閱的使用場景確實非常多。我已看見人們在社交網絡連接中使用,還可作爲基於發佈/訂閱的腳本觸發器,甚至用Redis的發佈/訂閱功能來建立聊天系統

發佈了30 篇原創文章 · 獲贊 2 · 訪問量 9113
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章