lavarel中如何使用memcache

lavarel中如何使用memcache

1、總結

一句話總結:

composer下載包,配置,使用函數

 

一、memcache是什麼?

鍵值對內存緩存

MemCache是一個自由、源碼開放、高性能、分佈式的分佈式內存對象緩存系統,MemCaChe是一個存儲鍵值對的HashMap,在內存中對任意的數據(好比字符串、對象等)使用key-value存儲,數據能夠來自數據庫調用、API調用,或者頁面渲染的結果。MemCache設計理念就是小而強大,它簡單的設計促進了快速部署、易於開發並解決面對大規模的數據緩存的許多難題php

 

二、爲何要使用Memcache?

經過在內存中緩存數據和對象來減小讀取數據庫的次數


主要用於動態Web應用以減輕數據庫的負載。
它經過在內存中緩存數據和對象來減小讀取數據庫的次數,
從而提升了網站訪問的速度。html

 

三、Memcache的實現原理?

鍵值對 hash表

memcache處理的原子是每個key、val,key會經過一個hash錶轉換成hash的key,便於查找對比以及竟可能的作到散列。同時mem用的是一個二級散列,經過一個hash表來維護。laravel

 

四、memcache有兩個核心組件:服務端和客戶端 如何工做?

總結:標準的服務端和客戶端工做模式
在一個memcache組件查詢中,client先經過key的hash值來肯定kv在service端的位置,當server端肯定後,客戶端就會發一個請求到server端。讓它來查找出確切數據,由於這之間沒有交互以及多播協議,所以mem帶給網絡的影響最小

 

五、使用memcache的公司有哪些?

Yahho,facebook,搜狐,新浪,豆瓣。Wikipedia等

 

 

 

2、lavarel中使用memcache

更改cache.php中cache_driver值爲memcached。數據庫

 

use Cache; #控制器中使用緩存

    public function memcache(){ 
        Cache::put('memcache','hello,world',1);  #寫入緩存(key,value,time)
        dd(Cache::get('memcache'));  #獲取緩存
    }

 

參考:laravel操做memcache筆記! - 簡書
https://www.jianshu.com/p/2a3baf32348a緩存

 

 

 

3、memcache如何在TP框架項目中使用

參考:memcache如何在項目中使用_百度經驗
https://jingyan.baidu.com/article/ca2d939d1c74fceb6c31ce8f.html服務器

 

當用戶發生一個動態請求的時候,先去memcache服務器裏面查詢緩存數據,當首次查詢的時候,memcache裏面確定是沒有數據的,這個時候須要php程序去MySQL數據庫裏面獲取數據,將獲取先緩存一份到memcache服務器裏面,在把數據返回給用戶。當第二次發生相同的動態的請求的時候,這個時候因爲上一次memcache裏面已經緩存了對應的查詢數據,這個memcache就能夠直接的返回數據,而不須要MySQL數據庫的參與,減小了MySQL數據庫的壓力。對於這種架構來講,因爲memcache是處於旁邊的,這種緩存系統叫作旁路式緩存系統。網絡

 

對於下面這種結構,緩存數據的獲取不依賴php程序,緩存系統自身有能力能夠從MySQL數據庫裏面獲取數據,在將數據緩存到本地的緩存系統裏面,下次直接從緩存系統裏面返回數據的這種架構叫作穿透式緩存系統。架構

相關文章
相關標籤/搜索