memcached 緩存數據庫應用實踐

1.1 數據庫對比

緩存:將數據存儲到內存中,只有當磁盤勝任不了的時候,才會啟用緩存

缺點:斷電數據丟失(雙電),用緩存存儲數據的目的只是為了應付大并發的業務。

數據庫:mysql(關系型數據庫,能夠保證數據一致性,保證數據不丟失,當因為功能太多,導致性能不高) ===數據參考

緩存數據庫:memcache redis(非關系型數據庫,性能極高,但不保證數據完整性) === 業務的數據提供者

memcachedb 會將內存的數據寫入到磁盤中

redis 主要工作場所是內存中,但是定期備份內存數據到硬盤

1.1.1 數據庫的選擇

數據存儲,數據倉庫選擇mysql這種磁盤的數據庫

高并發,業務大的應用選擇memcache這種內存數據庫

1.1.2 數據庫分類

關系型數據庫? mysql

非關系型數據庫(NOSQL) memcached redis MongoDB

1.2 memcached介紹

Memcached是一款開源的、高性能的純內存緩存服務軟件。Mem是內存的意思,cache是緩存的意思,d是daemon的意思。

memcache 是項目名稱,也是一款軟件,其架構是C/S架構。

memcached官網:http://memcached.org/

1.2.1 memcache優點

①?? 對于用戶來講,用戶訪問網站更快了,體驗更好了。

②對網站來說,數據庫壓力降低了。只有當內存沒有數據時才會去請求數據庫。第一次寫入的數據也會請求數據庫。一般公司沒有預熱,只有當用戶讀取過數據庫才會放到Memcached中。

②?? 提升了網站的并發訪問,減少服務器數量。

1.3 Memcached在企業中使用場景

1.3.1 作為數據庫的前端緩存應用

當數據庫(mysql)承受不了大并發的請求時,可以將數據緩存到內存中(緩存數據庫),然后就可以解決

作為數據庫的前端緩存最大目的:減少數據庫被大量訪問的壓力

1.3.2 作為集群后端的session會話保持

session存儲在文件,數據庫,memcache,或內存等的服務端上,

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容