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