Home >Backend Development >PHP Tutorial >Analysis of introductory examples of Memcached under PHP, memcached examples_PHP tutorial

Analysis of introductory examples of Memcached under PHP, memcached examples_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:10:14740browse

Analysis of entry-level examples of Memcached under php, memcached examples

This article describes the introductory knowledge and examples of Memcached under PHP in more detail. Share it with everyone for your reference. The details are as follows:

Under what circumstances is memcache used, and under what circumstances should it not be used?

When should you use memcache, and when should you avoid using it? Now you already know that memcahced is designed to reduce the pressure on the database tutorial side, but you'd better develop a good strategy to find ways to let memcached cache the queries that affect the most performance as much as possible. You can try Doing some execution time logs for all queries in the application can help you analyze which content should be cached.

Now suppose you are running an e-commerce website. You can cache product introductions, shipping information, or other data that require complex queries in memcached, etc. When a product page is loaded, the above mentioned The data will skip the database query and be obtained directly from the cache. The cache can greatly change the overall performance of your website. You just need to remember to update these caches when updating products in the background.

In some cases, caching data is not a good idea. For example, when a data is updated frequently, we need to update the cache at the same time every time the data is updated. The cache hit rate is not high, which will cause There is some additional performance sacrifice. In this case, it may be better to query the database directly.

Security of memcached

If you understand the working process of memcached, you may have noticed that in the process of accessing the cache, there is no relevant process of permission control. If your data is not very important, you don’t have to worry about this. Security issues, if you need it, the following points can help you use it more completely:

Use a unique key: Because the data in memcached exists in the form of a large array, you should use a unique key. The only way to access your data is through you saving the data There is no other way to query the key at the time.

Ensure the security of your memcached server: Because memcached itself does not have an authentication mechanism, all server queries for memcached should be conducted through the firewall. You can set rules on the firewall to determine which servers are What is allowed to be accessed and what is not allowed to be accessed?

Encrypt your data: You can store the data and keys in memcached in an encrypted manner. This requires some extra CPU time, but for the security of your data, if the situation allows, this method is worth it. Go try it.

Copy code The code is as follows:
class mycache
{
private $cache;
function __construct()
{
$this->cache = new memcache();
// you can replace localhost by memcached server ip addr and port no.
$this->cache->connect('localhost', 10987);
}

function get_data($key)
{
$data = $this->cache->get($key);
If($data != null)
Return $data;
else
{
If($this->cache->getresultcode() == memcached::res_notfound)
          {
//do the databse query here and fetch data
            $this->cache->set($key,$data_returned_from_database);
        }
       else
          {
​​​​ error_log('no data for key '.$key);
        }
}
}
}
$cache = mycache();
$cache->get_data('foo');
?>

I hope this article will be helpful to everyone’s PHP programming design.

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/937728.htmlTechArticleAnalysis of introductory examples of Memcached under php, memcached examples. This article describes in more detail the introductory knowledge and examples of Memcached under php. Share it with everyone for your reference. The details are as follows: memcach...
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