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

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-07-13 10:42:09
Original
904 Leute haben es durchsucht

设置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: 再或者在某个一个应用中

<span 1</span> <span ini_set</span>("session.save_handler", "memcache"<span ); 
</span><span 2</span> <span ini_set</span>("session.save_path", "tcp://127.0.0.1:11211");
Nach dem Login kopieren



使用多个 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库的那个)

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




用 sessionid 去 memcached 里查询一下:

<?php 
$memcache = memcache_connect('localhost', 11211); 
var_dump($memcache->get('19216821213c65cedec65b0883238c278eeb573e077')); 
$memcache->set('aaaa', 'hello everyone'); 
var_dump($memcache->get('aaaa')); 
?>
Nach dem Login kopieren

  




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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/667911.htmlTechArticle设置session用memcache来存储 方法I: 在 php.ini 中全局设置 session.save_handler = memcache session.save_path = "tcp://127.0.0.1:11211" 方法II: 某个目录下的 .h...
Erklärung dieser Website
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
Aktuelle Ausgaben
PHP-Datenerfassung?
Aus 1970-01-01 08:00:00
0
0
0
PHP-Erweiterung intl
Aus 1970-01-01 08:00:00
0
0
0
Wie man PHP gut lernt
Aus 1970-01-01 08:00:00
0
0
0
Mehrere PHP-Versionen
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage