分布式緩存,消息隊列,替代Session呵呵(Session太不穩定了,呵呵)=Redis
Redis的崛起絕非偶然,它确實有自己的新東西在裡面,它不像Memcached,隻能将資料存儲在記憶體中,它提供了持久化機制,避免了場機後的雪崩的問題,即伺服器出現問題後,記憶體中保留的原始資料全部丢失,需要重新組織資料到記憶體,這時,Memcached會經曆一個很慢的過程。
Redis支援持久化隻是它的一件武器,另外,它針對不同的需求也提供了多達5種資料存儲方式,以最大效率上的實作你的需求,下面分别說一下:
string是最簡單的類型,你可以了解成與Memcached一模一樣的類型,一個key對應一個value,其上支援的操作與Memcached的操作類似。但它的功能更豐富。
list是一個連結清單結構,主要功能是push、pop、擷取一個範圍的所有值等等。之是以說它是雙向的,因為它可以在連結清單左,右兩邊分别操作
set是集合,和我們數學中的集合概念相似,對集合的操作有添加删除元素,有對多個集合求交并差等操作。操作中key了解為集合的名字
zset是set的一個更新版本,他在set的基礎上增加了一個順序屬性,這一屬性在添加修改元素的時候可以指定,每次指定後,zset會自動重新按新的值調整順序。 可以對指定鍵的值進行排序權重的設定,它應用排名子產品比較多
Redis能夠存儲key對多個屬性的資料(比如user1.uname user1.passwd),當然,你完成可以把這些屬性以json格式進行存儲,直接把它當作string類型進行操作,但這樣性能上是對影響的,是以redis提出的Hash類型。