MongoDB 或者 redis 可以替代 memcached 嗎?
mongodb和memcached不是一個範疇內的東西。mongodb是文件型的非關係型資料庫,其優勢在於查詢功能比較強大,能儲存海量資料。mongodb和memcached不存在誰替換誰的問題。
和memcached更為接近的是redis。它們都是記憶體型資料庫,資料儲存在記憶體中,通過tcp直接存取,優勢是速度快,併發高,缺點是資料型別有限,查詢功能不強,一般用作快取。在我們團隊的專案中,一開始用的是memcached,後來用redis替代。
相比memcached:
1、redis具有持久化機制,可以定期將記憶體中的資料持久化到硬碟上。
2、redis具備binlog功能,可以將所有操作寫入日誌,當redis出現故障,可依照binlog進行資料恢復。
3、redis支援virtual memory,可以限定記憶體使用大小,當資料超過閾值,則通過類似LRU的演算法把記憶體中的最不常用資料儲存到硬碟的頁面檔案中。
4、redis原生支援的資料型別更多,使用的想象空間更大。
5、前面有位朋友所提及的一致性雜湊,用在redis的sharding中,一般是在負載非常高需要水平擴充套件時使用。我們還沒有用到這方面的功能,一般的專案,單機足夠支撐併發了。redis 3.0將推出cluster,功能更加強大。
6、redis更多優點,請移步官方網站查詢。
MongoDB不多說,不是一個型別的東西,Redis相對Memcached來說功能和特性上的優勢已經很明顯了。而對於效能,Redis作者的說法是平均到單個核上的效能,在單條資料不大的情況下Redis更好。為什麼這麼說呢,理由就是Redis是單執行緒執行的。
因為是單執行緒執行,所以和Memcached的多執行緒相比,整體效能肯定會偏低。
因為是單執行緒執行,所以IO是序列化的,網路IO和記憶體IO,因此當單條資料太大時,由於需要等待一個命令的所有IO完成才能進行後續的命令,所以效能會受影響。
而就記憶體使用上來說,目前Redis結合了tcmalloc和jemalloc兩個記憶體分配器,基本上和Memcached不相伯仲。如果是簡單且有規律的key value儲存,那麼用Redis的hash結構來做,記憶體使用上會驚人的變小,優勢是很明顯的。
相關文章
- redis和memcachedRedis
- 【Redis與Memcached比較】Redis
- Redis 和 Memcached 比較Redis
- 對比 Redis 與 MemcachedRedis
- MangoDB:MongoDB的開源替代MongoDB
- Redis與Memcached的區別Redis
- Redis和Memcached的區別Redis
- 談談Memcached與Redis(四)Redis
- Memcached和Redis的區別?Redis
- mongodb想速成嗎,這個系列教程你可以看看(1)MongoDB
- mongodb想速成嗎,這個系列教程你可以看看(2)MongoDB
- Redis相比Memcached有哪些優勢?Redis
- 你知道Redis可以實現延遲佇列嗎?Redis佇列
- 介紹一個MongoDB的替代方案MongoDB
- redis.cluster/memcached.cluster/wmware esxiRedis
- 好好耕耘redis和memcached的區別Redis
- Redis的配置及與memcached區別Redis
- Memcached與Redis有什麼區別Redis
- Memcached vs Redis, 挑選哪一個?Redis
- Memcached 與 Redis 實現的對比Redis
- memcached與redis實現的對比Redis
- Redis 和 Memcached 的區別詳解Redis
- 初試redis,比memcached快10倍速Redis
- Rust編寫的Memcached快取替代品:memc.rsRust快取
- 可以替代basemap的幾個工具
- Nix會替代Docker嗎? - ReplitDocker
- Redis 、MongoDB入門RedisMongoDB
- PostgreSQL、Redis與Memcached的效能比較 - CYBERTECSQLRedis
- Memcached 及 Redis 架構分析和比較Redis架構
- 可以替代putty的ssh客戶端客戶端
- 有人恨MongoDB嗎?MongoDB
- 比特幣真的不可替代嗎?比特幣
- node.js會替代java嗎?Node.jsJava
- js能替代領域物件嗎?JS物件
- MongoDB和Redis的使用MongoDBRedis
- MongoDB和Redis比較。MongoDBRedis
- NoSQL(MongoDB,Riak,CouchDB,Redis)SQLMongoDBRedis
- 細說紛紜——Redis 和 Memcached 的區別Redis