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中获取数据,只有在缓存过期或数据不存在时才访问数据库。