1 / 18
文档名称:

php缓存技术学习笔记.doc

格式:doc   页数:18页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

php缓存技术学习笔记.doc

上传人:875845154 2016/7/8 文件大小:0 KB

下载得到文件列表

php缓存技术学习笔记.doc

相关文档

文档介绍

文档介绍:memcached 缓存技术简单介绍: memcached 是可以把你的数据放入内存, 从而通过内存访问提速。主要的目的是提速。 memchched 服务维护了一张内存表(hashtable) key 一般是字串,不能重复 value 可以放入( 字符串, 数值, 对象, 布尔, 二进制数据[图片/ 视频]) 特别说明:就是不能方 php 里面的资源类型; 原理图: key value 。。。。。。。。。安装并使用 memcached : 下载 memcache 软件, 解压安装指令: –d install ,此处一定要以管理员的身份安装,也就是要以管理员的身份启动 cmd 然后在服务里面我们会看到: 然后启动:两种方式: 1. 到服务点击启动。 –d start 如何验证启动是否成功: netstat – an 如果能看到 stat – anb 检索那个程序在监听更具 ip 取得主机的名字: apache80,mysql3306,ftp21,ssh22,oracle1521,stmp25,memcached11211. 对 memcached 操作有 2 种方式: 程序 2. 工具 工具:操作: XP 系统本来就代开着,而 win7 为了安全性, 关闭着这个东西, 毕竟也是明文传输,不安全。我们要用, win7 下首先要启动 工具: 等一会就 OK 了然后按照一下步骤即可登陆 连接到 memcached 服务, 11211 即可。增加 add key 名 0 存放时间(秒) 数据大小( 字符) 例子: add key1 0 305 获取 get key 值例子: get key1 截图: 修改: 1. set key 名0 存放时间数据大小, 举例: set key1 0 405 如果 key1 不存在,则相当于增加,如果存在,则替换 2. replace key 名0 存放时间数据大小举例: replace key1 0 405 如果 key1 不存在,则提示 not_store 删除 delete key 名举例: delete key1 flush_all 可以一次性把数据清空 stats: 查看状态清单,只要是查看命中率, cmd_hits/cmd_get. 现在我们来用 php 程序来操作 memcached 简单的说,操作就是调用函数。程序: 1 ,拷贝到 php 的 ext 下: 不同版本的 php 所使用的 版本。版本要对应。 2. ,修改 3, 重启 apache, 如果启动报错, 那么说明 dll 文件的版本和 php 的版本不一致。如图: 一个案例: 其他类型都 OK ,对于对象类型,不叫特别一点: : 运行 后,将数据存入,也顺便去处,发现结果正确,如下图: 但是运行 去取的东西,发现:有提示主要原因是模糊: 解决方案: 在 重新声明一下 Dog 类得定义: 然后运行: 问题 OK 说明:资源类型不能放入到 memcached 中。说明: serialize :把数据及其类型转化成一个字符串,数据传输 json_decode :键值对的性质保存,数据使用。在我们增加数据的时候,如果把超时 expire 设置为 0 ,表示数据永远在,如果是直接给的秒数,最多保存 30*3600*24 。如果想保存时间超过 30天,time()+ 天数*3600*24 即可。 : <?php //创建 mem 对象$mem=new Memcache; //连接$mem->connect("",11211); if(!$mem){ die(" 连接失败"); } //增加//字符串/*if($mem->add('key1'," 西安",false,60)){ echo '添加 ok'; }*/ //添加数字/* if($mem->add('key1',100,false,60)){ echo '添加 ok'; }*/ //添加数组//在添加数组时候,更具需要,希望序列化再放入, //serialize() 函数,序列化,不但保存数据本身, //而且保存类型,所以可以反序列化//1. 保存磁盘//2. 网络传输/* $arr=array(" 北京"," 西安"); if($mem->add('key1',$arr,false,60)){ echo '添加 ok'; }*/ //serialize($