0
点赞
收藏
分享

微信扫一扫

通过php程序来操作memcached配置


memcache的概念和配置,通过php程序来操作memcached:


2.1 memcache介绍


目的:通过缓存数据库查询结果,将其保存在内存中,减少数据库访问次数,提高项目性能;'用空间换时间'


2.2 实例证明memcache提升性能


前期知识准备


Apache 有一款压力测试工具 ab [ApacheBench] 此工具可以模拟多人并发访问某个程序


1:使用工具设定环境变量


2:apache/bin 目录 D:\web\apache\bin


3:右击我的电脑->属性->高级->环境变量


用户变量*


1:[新建]-> path


D:\web\apache\bin


2:确定->3次


3:开始->运行->cmd->ab


系统变量


为什么使用环境变量


1:当你cmd执行命令-->windows会在当前目录找命令


如果没有;会在环境变量path路径再次查询命令.


ab


-n  发送多少次请求


-c  并发数


ab -n 1000 -c 10 http://127.0.0.1/1.php



Time taken for tests: 测试花费时间0.719 seconds


Complete requests:    完成请求数量1000


Failed requests:      失败请求数量0


Total transferred     网传输量   1233000 bytes


HTML  transferred     html传输量 1045000 bytes


Requests per second   每秒钟执行事务数  1391.30


longest request       最长响应时间 16



ab -n 1000 -c 10 http://localhost:8080/memexam/2.php



Time taken for tests:   测试花费时间  0.719 [0.750]seconds


Complete requests:      完成请求数量  1000


Failed requests:        失败请求数量  0


Total transferred       网传输量    1233000 [1247000]bytes


HTML  transferred       html传输量  1045000 [1059000]bytes


Requests per second       每秒钟执行事务数 1391.30[1333.33]


longest request         最长响应时间 16     [16]



4:安装配置


1:下载memcache for windows


memcached.exe


2:安装简单目录{没有中文没在空格}


d:/web/memcache/memcache.exe


D:/web/memcached


3:windows 7 8 [下面操作管理员身份]


安装:memcached -d install


卸载:memcached -d uninstall [仃止memcache]


步骤


cd d:/web/memcached


d:


memcached -d install


启动[启动一次]


memcached -d start


停止


memcached -d stop


总结


memcached -d install 安装


memcached -d uninstall 卸载


memcached -d start[一次]


memcached -d stop 仃止



检测网络状态:


netstat -an  [windows下命令 检测网络端口]


11211   LISTENING


详细参数


-d 选项启动一个守护进程


-m 分配给memcached内存数量 10M


-u 启动memcached用户


-p 监听端口号 11211 修改 [windows下无效]


memcached -d start -m 10



通过php操作memcached


1:memcache 常用方法


类Memcache


a:connect('服务器地址','端口号'); 打开一个memcache连接


示例:


connect('127.0.0.1',11211); 打开一个memcache连接


b:close() 关闭一个memcache连接


c:set     保存数据到memcache服务器


set(键,值,标记,时间)


key   必须是一个字符串{唯一}


value 数据


flag  0,MEMCACHE_COMPRESSED 压缩


time  有效时间单位秒 过了这个时间memcache清除数据


d:get  获取一个保存在memcache服务器数据


$m->get(key);


e:replace 替换数据


$m->replace(key,value,0,60)


f:delete  删除memcache保存数据


delete(key)


g:flush()  删除memcache所有数据



2:session与memcache



作用:session 保存会话信息{数据}


会话:开始-->结束


cookie和session的区别:


cookie  数据保存客户端{浏览器}


session 保存服务器 apache


a:session.save_handler = "files" "user" "memcache"


1:session保存在服务上方式session安装文件方式保存数;


2:user session保存数据库


3:memcache session保存memcache服务器


b:session_auto_start = 0;[禁用]


session是否自动开启..session_start();


c:session_save_path =


session保存路径;


memcache  [tcp://127.0.0.1:11211]



session.gc_maxlifetime = 1440


超过此参数所指秒数后,保存数据被视为"垃圾"并由"垃圾"回收程序清理


session.gc_divisor = 1000


session.gc_probability = 1;


启动垃圾回收程序概率  1000/1


session.use_cookies = 1;


是否使用cookie在客户端保存会话id


演示:修改session保存路径; demo9.php


session.use_trans_sid = 0;


是否使用明码URL显示SID    [cookie禁用]


session.cookie_httponly = Off  ->  On


导致客户脚本{javascript}无法访问cookie id 值;


演示:修改session保存路径; demo10.php



将session保存在memcache


php.ini


1:session.save_handler = memcache


2:session.save_path = "tcp://127.0.0.1:11211";


6:mysql与memcache 工作实例->分页


新知识点:


memcache 限制 key   不超过250个字符


value 不超过1M


select s.id.s.name,s.sn..


from join


on  =


where


limit


md5($sql)  32字符


set($sql,$rows,0,12);


db.php    工具函数



总结:


1:memcache 实现 "以空间换时间"


2:常用方法


set get delete replace flush


3:memcache限制[重点]


key   256字符


value 1M


4:session 常用配置项目[重点]


a:session.save_handler = files


b:session_auto_start =


c:session_save_path =


d:session.gc_maxlifetime = 1440


e:session.gc_divisor = 1000


f:session.gc_probability = 1;


g:session.use_cookies = 1;


h:session.use_trans_sid = 0;


i:session.cookie_httponly = Off  ->  On



谢谢关注 websites 博客!

举报

相关推荐

0 条评论