Heim >Backend-Entwicklung >PHP-Tutorial >php使用 memcache 来存储 session 方法总结

php使用 memcache 来存储 session 方法总结

WBOY
WBOYOriginal
2016-07-29 09:06:44791Durchsuche

设置session用memcache来存储

方法I: 在 php.ini 中全局设置
session.save_handler = memcache
session.save_path = "tcp://127.0.0.1:11211"


方法II: 某个目录下的 .htaccess
php_value session.save_handler "memcache"
php_value session.save_path "tcp://127.0.0.1:11211"


方法III: 再或者在某个一个应用中

1 ini_set("session.save_handler", "memcache"); 
2 ini_set("session.save_path", "tcp://127.0.0.1:11211");


使用多个 memcached server 时用逗号","隔开,并且和 Memcache::addServer() 文档中说明的一样,可以带额外的参数"persistent"、"weight"、"timeout"、"retry_interval" 等等,类似这样的:"tcp://host1:port1?persistent=1&weight=2,tcp://host2:port2" 。

如果安装的PECL是memcached(依赖libmemcached库的那个扩展),则配置应为
Php代码 收藏代码
ini_set("session.save_handler", "memcached"); // 是memcached不是memcache
ini_set("session.save_path", "127.0.0.1:11211"); // 不要tcp:[/b]


代码例子(不依赖libmemcached库的那个)

php使用 memcache 来存储 session 方法总结

 1 <?php 2 session_start(); 
 3 if (!isset($_SESSION['TEST'])) { 
 4 $_SESSION['TEST'] = time(); 
 5 } 
 6 
 7 $_SESSION['TEST3'] = time(); 
 8 
 9 print $_SESSION['TEST']; 
10 print "<br><br>"; 
11 print $_SESSION['TEST3']; 
12 print "<br><br>"; 
13 print session_id(); 
14 ?>

php使用 memcache 来存储 session 方法总结

 用 sessionid 去 memcached 里查询一下:

?

1

2

3

4

5

6

<?php

$memcache= memcache_connect('localhost', 11211);

var_dump($memcache->get('19216821213c65cedec65b0883238c278eeb573e077'));

$memcache->set('aaaa', 'hello everyone');

var_dump($memcache->get('aaaa'));

?>

会看到
string(37) "TEST|i:1177556731;TEST3|i:1177556881;"
这样的输出,证明 session 正常工作。

以上就介绍了php使用 memcache 来存储 session 方法总结,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn