Home > Article > Backend Development > How to use Memcached to cache data in PHP development
With the continuous development of Internet applications, data storage and access have become a very important link in application development. Many times, we need to cache data in applications to improve application performance, response speed and user experience. This article will introduce how to use Memcached to cache data in PHP development to improve application performance.
Memcached is a high-performance, distributed memory caching system. It caches data in memory so it can be read and written quickly. In PHP development, we often use Memcached to cache calculation results, database query results and other data to improve application response speed and performance.
Before we start using Memcached to cache data, we need to install and configure Memcached. In Linux systems, we can use the following command to install Memcached:
sudo apt-get update sudo apt-get install memcached
After the installation is complete, we also need to install the PHP extension of Memcached. In Ubuntu system, we can use the following command to install the Memcached PHP extension:
sudo apt-get install php-memcached
After the installation is complete, add the following configuration in the php.ini configuration file:
extension=memcached.so
Then restart the Apache service or PHP-FPM service to make the configuration effective.
Using Memcached to cache data is very simple. We just need to use the functions provided by the Memcached extension to operate. Here is an example of using Memcached to cache data:
<?php // 连接到 Memcached 服务器 $memcached = new Memcached(); $memcached->addServer('localhost', 11211); // 将数据缓存到 Memcached 中 $memcached->set('key', 'value', 10); // 缓存 10 秒 // 从 Memcached 中读取数据 $value = $memcached->get('key'); if ($value === false) { // 缓存不存在,从数据库中查询数据 $value = 'data from database'; // 将从数据库中查询的数据缓存到 Memcached 中 $memcached->set('key', $value, 10); } echo $value;
In the above example, we first created a Memcached instance and added a Memcached server. Then we store the data in Memcached in the form of key-value and set the expiration time of the data to 10 seconds. When we need to access this data, we first query the data from Memcached. If the data does not exist, we query the data from the database and cache the query results in Memcached.
In actual development, we can also use some advanced functions of Memcached to optimize our application performance. Here are some common advanced usages:
<?php // 连接到多个 Memcached 服务器 $memcached = new Memcached(); $memcached->addServers([ ['host1', 11211], ['host2', 11211] ]); // 自定义序列化和反序列化方法 $memcached->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_IGBINARY); $memcached->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_JSON); // 批量操作 $values = [ 'key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3' ]; $memcached->setMulti($values); // 自动失败转移 $memcached->setOption(Memcached::OPT_CONNECT_TIMEOUT, 100); $memcached->setOption(Memcached::OPT_DISTRIBUTION, Memcached::DISTRIBUTION_CONSISTENT); $memcached->setOption(Memcached::OPT_SERVER_FAILURE_LIMIT, 5); $memcached->setOption(Memcached::OPT_RETRY_TIMEOUT, 2);
Summary
Using Memcached to cache data can greatly improve application performance and response speed. In PHP development, we can use the Memcached PHP extension to implement data caching. In the process of using Memcached, we can also use some advanced features to further optimize our application performance.
The above is the detailed content of How to use Memcached to cache data in PHP development. For more information, please follow other related articles on the PHP Chinese website!