Redis:redis和memcached 比较
兩者都是非關(guān)系型內(nèi)存鍵值數(shù)據(jù)庫(NOSQL),主要有以下不同:
數(shù)據(jù)類型
Memcached 僅支持字符串類型,而 Redis 支持五種不同的數(shù)據(jù)類型,可以更靈活地解決問題。
數(shù)據(jù)持久化
Redis 支持兩種持久化策略:RDB 快照和 AOF 日志,而 Memcached 不支持持久化。
分布式
Memcached 不支持分布式,只能通過在客戶端使用一致性哈希來實(shí)現(xiàn)分布式存儲(chǔ),這種方式在存儲(chǔ)和查詢時(shí)都需要先在客戶端計(jì)算一次數(shù)據(jù)所在的節(jié)點(diǎn)。
Redis Cluster 實(shí)現(xiàn)了分布式的支持。
內(nèi)存管理機(jī)制
-
在 Redis 中,并不是所有數(shù)據(jù)都一直存儲(chǔ)在內(nèi)存中,可以將一些很久沒用的 value 交換到磁盤,而 Memcached 的數(shù)據(jù)則會(huì)一直在內(nèi)存中。
-
Memcached 將內(nèi)存分割成特定長度的塊來存儲(chǔ)數(shù)據(jù),以完全解決內(nèi)存碎片的問題。但是這種方式會(huì)使得內(nèi)存的利用率不高,例如塊的大小為 128 bytes,只存儲(chǔ) 100 bytes 的數(shù)據(jù),那么剩下的 28 bytes 就浪費(fèi)掉了。
總結(jié)
以上是生活随笔為你收集整理的Redis:redis和memcached 比较的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 并发编程:幂等性
- 下一篇: Mysql实战:主从同步