標籤:io ar 檔案 資料 sp div art on c
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
redis 緩衝技術與memcache的最大差別