您的位置:首页 > 数据库 > Memcache

通过php程序来操作memcached配置

2014-02-21 08:35 239 查看
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

5:通过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博客!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐