PHP将session保存到memcache服务器

传统的 session 是写入到服务器文件中,可以在 php.ini 中看出,清单如下

[plain] view plaincopy

  1. session.save_handler = files
  2. session.save_path = "sess保存路径"

但是,如果网站用户很多的话,session 的访问将势必影响网站的速度。因为文件的读取速度是很低的。

众所周知,memcache 作为内存缓存服务器,通过哈希算法,把数据以key->value的形式进行读取,其速度是远远高于文件的读取。

将 session 保存到 memcache 服务器的配置如下:

方式一:

打开 php.ini 文件,修改下面两个参数:

[plain] view plaincopy

  1. session.save_handler = memcache
  2. session.save_path = "tcp://Mem服务器1:端口号,tcp://Mem服务器2:端口号..."

方式二:

在 php 文件中使用 ini_set 函数,进行配置,此方法会解决共享服务器的 php 的配置问题

[php] view plaincopy

  1. <?php
  2. ....
  3. ini_set("session.save_handler", "memcache");
  4. ini_set("session.save_path", "tcp://Mem服务器1:端口号,tcp://Mem服务器2:端口号...");
  5. ....
  6. ?>

重启 Web 服务器!

这时,session 将不会以文件的形式保存,而是保存到 Memcache 服务器,保存的 key 为 session_id

telnet 到 memcache 服务器,进行 get 查看

telnet memcache服务器 端口号

时间: 2024-11-10 08:33:59

PHP将session保存到memcache服务器的相关文章

将session保存到memcache

步骤: 修改php.ini的配置文件 如下: ;[sesson.save_handler 有user|files|memcache] session.save_handler = memcache session.save_path = "tcp://127.0.0.1:11211" 测试一把,重启apache 如果管理员,不让我们修改 php.ini 文件,我们如何处理session入memcached这个功能, 我们通过一个函数可以去修改 php.ini 的配置. 代码: <

利用session_set_save_handler()函数将session保存到MySQL数据库中

PHP保存session默认的是采用的文件的方式来保存的,这仅仅在文件的空间开销很小的windows上是可以采用的,但是如果我们采用uinx或者是liux上的文件系统的时候,这样的文件系统的文件空间开销是很大的,然而session是要时时刻刻的使用的,大量的用户就要创建很多的session文件,这样对整个的服务器带来性能问题. 另一方面,如果服务器起采用群集的方式的话就不能保持session的一致性,所以我们就绪要采用数据库的方式来保存session,这样,不管有几台服务器同时使用,只要把他们的

session 保存到 redis 简单实现

参考资料: [session保存到redis简单实现]http://blog.csdn.net/ppt0501/article/details/46700221 [Redis学习]http://blog.csdn.net/can007/article/details/19848559

PHP session_set_save_handler将SESSION保存到Mysql中

将SESSION保存到mysql中 <?php /**  * SessionMysql 数据库存储类  */ defined('IN_QIAN') or exit('Access Denied'); class SessionMysql { public $lifetime = 1800; // 有效期,单位:秒(s),默认30分钟 public $db; public $table; /**  * 构造函数  */ public function __construct() { session

使用 PDO 方式将 Session 保存到 MySQL 数据中

类: <?php /* 使用数据库保存session */ class DBHandler implements SessionHandlerInterface { protected $dbh; public function open($save_path, $name) { try { $this->connect($save_path, $name); return true; } catch(PDOException $e) { echo $e->getMessage(); r

转载 mvc中 将session保存到redis中 实现共享session

1 <system.web> 2 <authentication mode="None" /> 3 <compilation debug="true" targetFramework="4.5" /> 4 <httpRuntime targetFramework="4.5" /> 5 <sessionState mode="Custom" customP

php session 保存到redis 实现session的共享

1.redis安装肯定都会了,就不介绍了. 2.核心代码

Asp.net Session保存到Redis: 使用 RedisSessionStateProvider

Install-Package Microsoft.Web.RedisSessionStateProvider 依赖于: Dependencies StackExchange.Redis.StrongName (>= 1.0.488) 1 <system.web> 2 <authentication mode="None" /> 3 <compilation debug="true" targetFramework="4

nodejs express session用法(含保存到redis)

普通用法: 1 var express = require('express'); 2 var session = require('express-session'); 3 4 var app = express(); 5 6 app.use(session({ 7 name: 'test1', // 非常重要,用于区分两个系统的session 8 secret: 'test1 cat', 9 cookie: { maxAge: 5 * 60 * 60 * 1000 }, 10 resave: