Home  >  Article  >  Backend Development  >  Detailed explanation of how to implement distributed memcache in PHP to set up web cluster session synchronization

Detailed explanation of how to implement distributed memcache in PHP to set up web cluster session synchronization

jacklove
jackloveOriginal
2018-06-27 17:58:501362browse

This article mainly introduces the method of PHP to implement distributed memcache to set up web cluster session synchronization. It analyzes the related operation skills and precautions of PHP setting up and using memcache to achieve web cluster session synchronization in the form of examples. Friends in need can refer to it. Next

The example in this article describes how PHP implements distributed memcache to set up web cluster session synchronization.

PHP's session defaults to file storage:

session.save_handler = files
session.save_path = "/var/lib/php/session"

As a web cluster, when session synchronization is required, the session is stored in distributed memcache. It is a good way to achieve shared synchronization

Method:

##Type 1:

vi /etc/php.ini

session.save_handler = memcache
session.save_path = "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211"

Type 2:

Use the ini_set function in the php file for configuration , suitable for virtual hosts that cannot modify configuration files

<?php
....
ini_set("session.save_handler", "memcache");
ini_set("session.save_path", "tcp://192.168.20.193:11211,tcp://192.168.20.194:11211");
....
?>

Restart the web server

service httpd restart

Check login.php

<?php
session_start();
$_SESSION[&#39;login_time&#39;] = time();
$_SESSION[&#39;username&#39;] = &#39;test2&#39;;
$token=session_id();
echo $token;
//memache实现
$mem = new Memcache();
$mem->addServer(&#39;192.168.20.193&#39;,11211);
$mem->addServer(&#39;192.168.20.194&#39;,11211);
/*
//memached实现
$mem = new Memcached();
$servers = array(
 array(&#39;192.168.20.193&#39;, 11211, 33),
 array(&#39;192.168.20.194&#39;, 11211, 67)
);
$mem->addServers($servers);
*/
echo &#39;<hr>&#39;;
print_r($mem->get($token));
?>
<p>
<a href="http://192.168.20.194/user.php?token=<?php echo $token;?>" rel="external nofollow" target="_balnk">跳转到194网站的个人中心</a>
</p>

## in phpinfo

##test

192.168.20.193 user.php in #192.168.20.194

<?php
$mem = new Memcache();
$mem->addServer(&#39;192.168.20.193&#39;,11211);
$mem->addServer(&#39;192.168.20.194&#39;,11211);
$token=$_GET[&#39;token&#39;];//获取传过来的token
print_r($mem->get($token));
?>
<p>
<a href="http://192.168.20.193/user.php?token=<?php echo $token;?>" rel="external nofollow" target="_balnk">返回193网站的个人中心</a>
</p>

Articles you may be interested in:

Example explanation of large file cutting and merging function implemented by PHP


Example explanation of simple word grouping algorithm implemented by PHP


Complete example explanation of mongoDB database operation class implemented in PHP


The above is the detailed content of Detailed explanation of how to implement distributed memcache in PHP to set up web cluster session synchronization. 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