Home  >  Article  >  Backend Development  >  How to use Memcached to cache data in ThinkPHP framework

How to use Memcached to cache data in ThinkPHP framework

不言
不言Original
2018-05-04 11:51:463523browse

This article mainly introduces the method of using Memcached to cache data in the ThinkPHP framework, and analyzes the related operating skills of setting up and using the Memcached cache in the thinkPHP framework. Friends in need can refer to the following

The examples in this article are described How to use Memcached to cache data in the ThinkPHP framework. Share it with everyone for your reference, the details are as follows:

ThinkPHP uses files to cache data by default, and supports other caching methods such as Memcache. There are two PHP extensions: Memcache and Memcached. Memcahe has official instructions, mainly talking about Memcached.

Compared with PHP Memcache, php Memcached is an extension of libmemcached based on native c. It is more complete and is recommended to be replaced by php memcached.

The Memcached driver has been built-in since version 3.2.2 (ThinkPHP/Library/Think/Cache/Driver/Memcached.class.php), but the usage is not explained in the document. By viewing the source code Configured and tested successfully.

There is a bug that has not been fixed yet, that is, the expiration time is 0. In theory, it should be permanently cached, but if it is not processed in the driver, it will expire immediately. The set method is modified as follows

 public function set($name, $value, $expire = null) {
  N('cache_write',1);
  if(is_null($expire)) {
   $expire = $this->options['expire'];
  }
  $name = $this->options['prefix'].$name;
  if (empty($expire))
   $time = 0;
  else
   $time = time() + $expire;
  if($this->handler->set($name, $value, $time)) {
   if($this->options['length']>0) {
    // 记录缓存队列
    $this->queue($name);
   }
   return true;
  }
  return false;
 }

Add

//缓存配置
 'DATA_CACHE_TYPE' => 'Memcached',
 'MEMCACHED_SERVER' => array(
  array('127.0.0.1', 11211, 0)
 ),

in the configuration file config.php. The driver is called:

Memcached::addServers(array)

You can add multiple cache servers

There is also a configuration item called MEMCACHED_LIB, which is called:

Memcached::setOptions(array)

For specific options, please refer to the PHP Chinese manual

Related recommendations:

Detailed explanation of form verification and ajax verification in the ThinkPhp framework


The above is the detailed content of How to use Memcached to cache data in ThinkPHP framework. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn