日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MemCached缓存知识知多少?

發布時間:2025/3/19 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MemCached缓存知识知多少? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. MemCached是神馬?


? ??Memcached??是一個高性能的分布式內存對象緩存系統,用于動態Web應用以減輕數據庫負載。它通過在內存中緩存數據和對象來減少讀取數據庫的次數,從而提高動態、數據庫驅動網站的速度。Memcached基于一個存儲鍵/值對的hashmap。其守護進程(daemon )是用C寫的,但是客戶端可以用任何語言來編寫,并通過memcached協議與守護進程通信。


? ? MemCached最早是由 Brad Fitzpatrick 在2003年為LiveJournal而開發的緩存程序。目前最新的版本為v1.4.22.


2. MemCached的特點?


? ??協議簡單:memcached的服務器客戶端通信并不使用復雜的MXL等格式,而是使用簡單的基于文本的協議。


????基于libevent的事件處理:libevent是個程序庫,他將Linux 的epoll、BSD類操作系統的kqueue等時間處理功能封裝成統一的接口。 ? ?memcached使用這個libevent庫,因此能在Linux、BSD、Solaris等操作系統上發揮其高性能。


? ??內置內存存儲方式:為了提高性能,memcached中保存的數據都存儲在memcached內置的內存存儲空間中。由于數據僅存在于內存中,因此重啟memcached,重啟操作系統會導致全部數據消失。另外,內容容量達到指定的值之后memcached回自動刪除不適用的緩存。


? ??不互通信的分布式:memcached盡管是“分布式”緩存服務器,但服務器端并沒有分布式功能。各個memcached不會互相通信以共享信息。他的分布式主要是通過客戶端實現的。 ??

?

3. MemCached存儲方式?


? ? 為了提高性能,memcached中保存的數據都存儲在memcached內置的內存存儲空間中。由于數據僅存在于內存中,因此重啟memcached、重啟操作系統會導致全部數據消失。另外,內容容量達到指定值之后,就基于LRU(Least Recently Used)算法自動刪除不使用的緩存。memcached本身是為緩存而設計的服務器,因此并沒有過多考慮數據的永久性問題。


4. MemCached與Redis的PK?


? ??每秒處理的請求數不是瓶頸:Redis只使用單核,而Memcached可以使用多核,所以二者比較起來,平均每一個核上,Redis在存儲小數據時比Memcached性能更高。而在100k以上的數據中,Memcached性能要高于Redis。雖然Redis最近也在存儲大數據的性能上進行優化,但是比起Memcached,還是稍有遜色。


? ??內存使用效率:如果使用簡單的key-value存儲,Memcached的內存利用率更高。而如果Redis采用hash結構來做key-value存儲,由于其組合式的壓縮,其內存利用率會高于Memcached。當然,這和你的應用場景和數據特性有關。


? ??數據持久化與數據同步:Redis支持,MemCached不支持。


? ??數據結構:Redis相比Memcached來說,擁有更多的數據結構,并支持更豐富的數據操作。通常在Memcached里,你需要將數據拿到客戶端來進行類似的修改再set回去。這大大增加了網絡IO的次數和數據體積。在Redis中,這些復雜的操作通常和一般的GET/SET一樣高效。





本文轉自 genuinecx 51CTO博客,原文鏈接:http://blog.51cto.com/favccxx/1626486,如需轉載請自行聯系原作者

總結

以上是生活随笔為你收集整理的MemCached缓存知识知多少?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。