强哥memcache学习笔记
搭建memcache服务器:
1.在内存中缓存数据
2.数据形态以key->value
memcache优点:
1.快速缓存
2.跨域登录
memcache缺点:
1.复杂的数据存取的操作
2.不能永久保存数据
安装memcache:
Windows:
下载memcached.exe
安装服务 memcached.exe -d install
卸载服务 memcached.exe -d uninstall
启动服务 memcached.exe -d start
停止服务 memcached.exe -d stop
tasklist | find "mem"
memcache命令
stats 查看所有状态
quit #退出
调优参数:
memcache.exe -m 2048 -u root -p 10000 -l 192.168.20.2 -d start (2G内存,10000端口 ,Windows需要调整注册表)
Linux:
yum -y install libevent
yum -y install libevent-devel
make
make install
memcached -d -m 2048 -u root -l 192.168.20.1 -p 10000
常用命令:
增:
set a 0 10 5 #变量 标记 10秒 5字节
user1 #内容
get a #获取a变量
查:
1.stats
2.get name
3.stats items
4.stats cachedump 1 0
删:
delete name
改;
replace name 0 3600 4
user
windows安装memcache模块:
1.把php_memcache.dll拷贝到php中ext扩展模块包中
2.修改php.ini配置文件把memcache设置extension=php_memcache.dll
3.重启apache
linux安装memcache模块:
tar -zxvf memcache-2.2.7.tgz
cd memcache-2.2.7/
/usr/local/php/bin/phpize
./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config
make
make install
vim php.ini
extension = "memcache.so"
php操作memcache:
1.连接memcache
$mem = new Memcache;
$mem -> connect("127.0.0.1","10000");
2.增
$mem -> set('name','user1');
$mem -> set('age','20');
$mem -> set('sex','nan');
3.删
$mem -> delete("name");
4.改
$mem -> set('age','200');
5.查
$mem -> get('age');
6.查看状态
$arr = $mem -> getStats();
7.清空数据
$mem -> flush();
php.ini设置session存储在memcache:
session.save_handler = memcache
session.save_path = "tcp://127.0.0.1:10000"
跨域项目:
登录检测:
if($_GET[session_name()]){
$mem = new Memcache;
$mem -> connect("127.0.0.1","10000");
$sessid = $_GET[session_name()];
$_SESSION = $mem -> get($sessid.'_data');
setcookie(session_name(),$sessid,0,'/');
}else{
session_start();
}
设置session
$mem = new Memcache();
$mem -> connect("127.0.0.1","10000");
$mem -> set(session_id().'_data',$_SESSION);
链接跳转
<a href='http://www.xxx.com/index?{session_name()}={$sessid}'