7. memcache 细节
memcache的细节讨论
① 生命周期
从数据放入mem开始计时,直到时间到了,就销毁, 如果时间为0, 则表示不过期.
memcache的数据被销毁的情况如下:
1. 时间到
2. 重启memcached服务
3. 重启memcached服务所在的机器
4. delete / flush 销毁数据
② 如何把session数据放入到memcached服务中.
步骤:
1. 修改php.ini的配置文件
如下:
;[sesson.save_handler 有user|files|memcache]
session.save_handler = memcache
session.save_path = "tcp://127.0.0.1:11211"
③ 测试一把,重启apache
测试ok
//传统的代码
<?php
session_start();
$_SESSION['name'] = '天龙八部';//取出
$name = $_SESSION['name'];echo 'name= ' . $name . '<br/>';
写入到磁盘文件中:
;session.save_handler = files
; user 代表使用自定义的 session 处理器
;session.save_handler = user
;表示放入memcache
session.save_handler = memcache
; session 保存的目录
session.save_path = "tcp://127.0.0.1:11211"
思考,如果管理员,不让我们修改 php.ini 文件,我们如何处理session入memcached这个功能, 我们通过一个函数可以去修改 php.ini 的配置.
代码:
<?phpini_set("session.save_handler","memcache");ini_set("session.save_path","tcp://127.0.0.1:9999");同时你也可以通过 ini_set 去动态的修改对php.ini 的其它设置 。但是他不影响其它php页面,也不会去修改php.ini 文件本身, 只对本页面生效.
mem6.php
<?php//ini_set 只作用于本页面
ini_set('session.save_handler','memcache');
ini_set('session.save_path','tcp://127.0.0.1:11211');
//传统的代码
session_start();
$_SESSION['name'] = '天龙八部1003';
$_SESSION['city'] = 'beijing';class Dog
{public $name;
}$dog1 = new Dog();
$dog1->name = 'xiao gou';$_SESSION['dog'] = $dog1;//取出
$name = $_SESSION['name'];
$city = $_SESSION['city'];
$dog1 = $_SESSION['dog'];echo 'name= ' . $name . '<br/>';
echo 'city= ' . $city . '<br/>';
var_dump($dog1);//如果 session 数据存入 mem,那么它一定是以 session_id 为 key 值进行添加
echo session_id();
7. memcache 细节相关推荐
- 小蚂蚁学memcache笔记—php操作memcache(3)
2019独角兽企业重金招聘Python工程师标准>>> 上篇在学习$mem->set();的时候少写了一个参数,第三个参数,MEMCACHE_COMPRESSED,这个参数的作 ...
- php memcache扩展的一个细节
为什么80%的码农都做不了架构师?>>> 关于add方法,手册说明: Memcache::add() expire Expiration time of the item. I ...
- Memcache面试题
* memcached是怎么工作的? * memcached最大的优势是什么? * memcached和MySQL的query cache相比,有什么优缺点? * memcached和服务器的l ...
- memcache及其telnet命令使用详解
1.启动Memcache 常用参数 memcached 1.4.3 -p <num> 设置端口号(默认不设置为: 11211) -U <num> UDP监听 ...
- Facebook 对 Memcache 伸缩性的增强
概要:Memcached 是一个知名的,简单的,全内存的缓存方案.这篇文章描述了facebook是如何使用memcached来构建和扩展一个分布式的key-value存储来为世界上最大的社交网站服务的 ...
- Redis简介 与Memcache的区别
redis 是一个基于内存的高性能key-value数据库. Reids的特点 Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作, ...
- Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
一.问题: 数据库表数据量极大(千万条),要求让服务器更加快速地响应用户的需求. 二.解决方案: 1.通过高速服务器Cache缓存数据库数据 2.内存数据库 (这里仅从 ...
- memcache mysql 同步_memcache与mysql数据库同步
mysql memcached UDF(用户自定义函数)和mysql触发器在更新mysql数据库的时候,触发更新memcache. 1.首先介绍mysql memcached UDF安装 mysql ...
- redis和memcache的区别
简单区别: 1. Redis中,并不是所有的数据都一直存储在内存中的,这是和Memcached相比一个最大的区别. 2. redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,h ...
- php模块memcache和memcached区别分析
谈及php搭配memcached使用,已经是老生常谈的问题.但是有一些细节,不见得人人清楚.比如说php的模块memcache和memcached有什么区别等.下面我就简单介绍一下. 1.目前大多数p ...
最新文章
- Oracle+BEA后的ESB
- Internet概念与TCP/ IP分层模型
- Linux网络编程服务器模型选择之循环服务器
- 蓝桥杯 方格填数(全排列+图形补齐)
- LeetCode 1310. 子数组异或查询(前缀异或)
- [转载] Java 将字符串首字母转为大写 - 利用ASCII码偏移
- 详述白盒测试的逻辑覆盖法的判定覆盖及其优缺点
- 7-58 肿瘤诊断 (30 分)
- .net oracle 连接超时_ADO.NET (一) 前言
- win 7系统连接WIFI
- 将C#的Dic转成Lua的Table将C#的List转成Lua的Table
- 网站建设中做到需求分析细致,网站优化也就顺理成章了
- iOS里的动态库和静态库
- 悟空CRM系统项目测试
- 游戏研发学习路线(思维导图)
- Html给网页加icon图标
- Snug(舒适) as a Bug(小虫) in a Rug(小地毯)(2019/1/2)
- PEiD0.95 - 经典查壳工具
- C++关于string类的模拟实现
- 罗松-东文财-赵栋201771010112罗松《面向对象程序设计(java)》第十四周学习总结...
热门文章
- caffe里的blocking_queue.hpp与.cpp干了点什么呢???
- Binary translation is incompatible with long mode on this platform
- VC++监听数据分析出明文账号密码
- 使用C#创建ActiveX控件(译文)
- 45本Hadoop、大数据方向书籍,包邮送到家!
- R语言机器学习:caret包使用及其黑箱模型解释(连续变量预测)
- Sqlite和mysql的区别及优缺点
- STL在数组算法的使用
- 2017-2018-2 1723《程序设计与数据结构》第九周作业 第二周结对编程 总结
- nth-of-type和nth-child的区别