session 入memcache

本文介绍了一种利用Memcache来存储PHP Session数据的方法。通过修改PHP配置将Session的保存方式设置为Memcache,并设置了连接地址。示例代码展示了如何启动Session并连接到本地Memcache服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

废话不多说 看代码


ini_set('session.save_handler','memcache');
ini_set('session.save_path','127.0.0.1:11211');
session_start();
$session = $_SESSION['name'] = 'xiaoxiaochengxuyuan';

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

var_dump($memcache->get(session_id()));

### Tomcat 使用 Memcache 作为 Session 管理器 #### 配置和实现方法 为了使Tomcat能够利用Memcached来处理Session,需要安装并配置相应的组件。在多台Tomcat集群环境中,选择`Non-Sticky`模式(即设置`sticky="false"`),可以确保每次请求都能从主Memcached获取最新的Session数据[^1]。 #### 安装Memcached服务 对于每台服务器上的Tomcat实例,在开始之前需确认已正确安装了Memcached服务: ```bash yum install memcached -y ``` 这一步骤保证了后续操作中有可用的Memcached环境用于存储和读取Session信息[^3]。 #### 下载并配置Tomcat-Memcached-session-manager插件 为了让Tomcat支持通过Memcached管理Session,必须引第三方库——`tomcat-memcached-session-manager`。下载对应的jar包,并将其放置于Tomcat的`lib`目录下。 编辑`conf/context.xml`文件,加如下配置片段以启用Memcached作为外部化的Session持久化机制: ```xml <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager" sticky="false" lockingMode="all" requestUriIgnorePattern=".*\.(png|gif|jpg|css|js)$" memcachedNodes="n1:localhost:11211,n2:otherhost:11211" sessionBackupAsync="false" sessionBackupTimeout="100" transcoderFactoryClass="de.javakaffee.web.msm.JavaSerializationTranscoderFactory"/> ``` 上述XML片断定义了一个名为`MemcachedBackupSessionManager`的管理者类负责与Memcached交互;设置了两个节点地址分别指向不同的Memcached实例(`n1`, `n2`);关闭了粘滞性会话分配(`sticky="false"`)以便更好地适应负载均衡场景下的高并发访问需求。 #### 测试验证 完成以上步骤之后重启所有的Tomcat服务以及关联的Memcached进程。此时可以通过模拟客户端发起HTTP请求测试新架构下的Session行为特性。正常情况下,每一次新的请求都会触发Tomcat向指定的Memcached节点查询是否存在对应ID的Session记录。一旦找到匹配项则直接加载内存供当前线程使用;反之亦然,若无现存条目,则允许创建全新的Session实体并最终保存回分布式缓存之中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值