redis 緩衝技術與memcache的最大區別
來源:互聯網
上載者:User
1 什麼是redis
redis是一個key-value儲存系統。和Memcached類似,它支援儲存的value類型相對更多,包括string(字串)、list(鏈表)、set(集合)和zset(有序集合)。這些資料類型都支援push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支援各種不同方式的排序。與memcached一樣,為了保證效率,資料都是緩衝在記憶體中。區別的是redis會周期性的把更新的資料寫入磁碟或者把修改操作寫入追加的記錄檔案,並且在此基礎上實現了master-slave(主從)同步。
2 效能怎麼樣
Redis是一個高效能的key-value記憶體資料庫。官方效能測試結果: set操作每秒110000次,get操作每秒81000次。
3 可不可以存對象
和Memcached類似,它支援儲存的value類型相對更多,包括string(字串)、list(鏈表)、set(集合)和zset(有序集合)。這些資料類型都支援push/pop、add/remove及取交集並集和差集及更豐富的操作。
4 Redis與memcache的最大區別
Replication(樹形)
data types(String、Lists、Sorted Sets、Hashes) persistence (snapshot、aof)
很多開發人員都認為Redis不可能比Memcached快,Memcached完全基於記憶體,而Redis具有持久化儲存特性,即使是非同步,Redis也不可能比Memcached快。但是測試結果基本是Redis占絕對優勢。一直在思考這個原因,目前想到的原因有這幾方面。
Libevent。和Memcached不同,Redis並沒有選擇libevent。Libevent為了迎合通用性造成代碼龐大(目前Redis代碼還不到libevent的1/3)及犧牲了在特定平台的不少效能。Redis用libevent中兩個檔案修改實現了自己的epoll event loop(4)。業界不少開發人員也建議Redis