Home > Article > Backend Development > How to use Memcache to achieve efficient data caching and storage operations in PHP development?
Memcache is a memory-based caching system that can be used to cache common data that needs to be read frequently, such as database query results, API responses, etc. In PHP development, using Memcache can greatly improve the performance of applications. This article will introduce how to use Memcache in PHP development to achieve efficient data caching and storage operations, and provide you with specific code examples.
Before using Memcache, you need to install and configure the Memcache extension and server. You can use the command sudo apt-get install php-memcached
to install the Memcache extension for PHP.
After installing the extension, you need to configure the Memcache server. Normally, the Memcache server will run on the server side and needs to tell the client application the IP address and port number of the server. In the PHP program, you can use the following code to connect:
$memcache = new Memcached(); $memcache->addServer('127.0.0.1', '11211');
Among them, 127.0.0.1
is the IP address of the Memcache server, 11211
is the default Memcache port number .
Using Memcache to store data is very simple, just use the set
function. For example, we can store database query results in Memcache and obtain them from Memcache the next time we query. The specific code example is as follows:
// 建立一个数据库连接 $conn = mysqli_connect('localhost', 'username', 'password', 'database'); if (!$conn) { die('Could not connect: ' . mysqli_error()); } // 查询数据 $sql = "SELECT id, name, age FROM users WHERE id=1"; $result = mysqli_query($conn, $sql); // 将结果存储到 Memcache 中 $memcache->set('user_1', $result, 3600); // 过期时间为 3600 秒 // 关闭数据库连接 mysqli_close($conn);
In the above code, we query the records with id
being 1 in the users
table of the database, and store the results in a file named # In the cache key of ##user_1, the expiration time is 3600 seconds. In this way, the next time we query, we can get the results directly from the Memcache cache without querying the database again.
get function. If the specified key does not exist in the cache,
false is returned. The specific code example is as follows:
// 从 Memcache 中获取数据 $result = $memcache->get('user_1'); // 如果数据不存在,则查询数据库并存储到 Memcache 中 if ($result === false) { $conn = mysqli_connect('localhost', 'username', 'password', 'database'); if (!$conn) { die('Could not connect: ' . mysqli_error()); } $sql = "SELECT id, name, age FROM users WHERE id=1"; $result = mysqli_query($conn, $sql); $memcache->set('user_1', $result, 3600); mysqli_close($conn); } // 输出查询结果 while ($row = mysqli_fetch_assoc($result)) { echo $row['id'] . ' ' . $row['name'] . ' ' . $row['age'] . '<br />'; }In the above code, we first obtain the data named
user_1 from the Memcache cache. If the data does not exist, the database is queried and stored in Memcache, and then the query results are output.
delete function to achieve this. The specific code example is as follows:
// 删除缓存中名为 user_1 的键 $memcache->delete('user_1');In the above code, we deleted the cache key named
user_1, so that the next time we query, we need to obtain data from the database again.
The above is the detailed content of How to use Memcache to achieve efficient data caching and storage operations in PHP development?. For more information, please follow other related articles on the PHP Chinese website!