sudo apt-get install memcached sudo apt-get install php-memcached
安裝完成後,需要在php.ini文件中啟用Memcache擴展。可以使用以下命令查找php.ini文件的位置:
php -i | grep php.ini
找到php.ini文件後,使用文本編輯器打開它,找到以下行:
;extension=memcached.so
將其改為:
extension=memcached.so
保存並退出編輯器,然後重啟Web服務器使更改生效。
$memcache = new Memcache();
然後,使用connect()方法連接到Memcache服務器,並指定服務器的IP地址和端口號:
$memcache->connect('127.0.0.1', 11211);
$key = 'username'; $value = 'John Doe'; $expiration = 3600; // 數據過期時間為1小時$memcache->set($key, $value, 0, $expiration);
此代碼將鍵名為username ,值為John Doe的數據存儲到Memcache中,並設置過期時間為1小時。
要從Memcache中讀取數據,可以使用get()方法,傳入鍵名作為參數:
$key = 'username'; $data = $memcache->get($key); if ($data !== false) { // 數據存在echo "Username: " . $data; } else { // 數據不存在或已過期echo "Username not found"; }
此代碼將嘗試從Memcache中讀取username鍵對應的數據。如果數據存在,則輸出用戶名;如果數據不存在或已過期,則輸出提示信息。
$key = 'username'; $memcache->delete($key);
這段代碼將刪除Memcache中username鍵對應的數據。
$memcache = new Memcache(); $memcache->connect('127.0.0.1', 11211); function getUserData($userId) { global $memcache; $key = 'user_' . $userId; $userData = $memcache->get($key); if ($userData === false) { // 從數據庫中獲取用戶數據$userData = getUserDataFromDatabase($userId); $expiration = 3600; // 數據過期時間為1小時$memcache->set($key, $userData, 0, $expiration); } return $userData; } $userId = 123; $userData = getUserData($userId); echo "User Name: " . $userData['name']; echo "Email: " . $userData['email'];
這段代碼定義了一個getUserData()函數,用於獲取用戶數據。函數首先從Memcache中獲取數據,如果數據不存在,則從數據庫中查詢並緩存到Memcache。每次讀取時,都會優先從Memcache中獲取數據,只有在緩存過期或數據不存在時才訪問數據庫。