Redis 簡介
Redis 是完全開源免費的,遵守BSD協議,是一個高性能的key-value資料庫。
Redis 與其他 key - value 緩存產品有以下三個特點:
- Redis支持數據的持久化,可以將記憶體中的數據保存在磁片中,重啟的時候可以再次加載進行使用。
- Redis不僅僅支持簡單的key-value類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。
- Redis支持數據的備份,即master-slave模式的數據備份。
Redis 優勢
- 性能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。
- 豐富的數據類型 – Redis支持二進位案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 數據類型操作。
- 原子 – Redis的所有操作都是原子性的,意思就是要麼成功執行要麼失敗完全不執行。單個操作是原子性的。多個操作也支持事務,即原子性,通過MULTI和EXEC指令包起來。
- 豐富的特性 – Redis還支持 publish/subscribe, 通知, key 過期等等特性。
Redis與其他key-value存儲有什麼不同?
Redis有著更為複雜的數據結構並且提供對他們的原子性操作,這是一個不同於其他資料庫的進化路徑。Redis的數據類型都是基於基本數據結構的同時對程式員透明,無需進行額外的抽象。
Redis運行在內存中但是可以持久化到磁片,所以在對不同數據集進行高速讀寫時需要權衡記憶體,因為數據量不能大於硬體記憶體。在內存資料庫方面的另一個優點是,相比在磁片上相同的複雜的數據結構,在內存中操作起來非常簡單,這樣Redis可以做很多內部複雜性很強的事情。同時,在磁片格式方面他們是緊湊的以追加的方式產生的,因為他們並不需要進行隨機訪問。