第一讲 memcached的基本概念
memcached是danga的一个项目 ,最早是LiveJounal服务,最初是为访问加速而开发的。
memcached是一个高效的分布式的内存对象缓存系统。他可以支持把各种php的数据(array对象,基本数据类型,对象,资源不能放)放入到其管理的内存中。
内存里维护一个统一的巨大的hash表。
使用memcached的好处是什么?
注意并发量很大
例如做学生系统的查询:
a 传统的方法 直接查数据库
<?php
$stu_id=$_GET['stu_id']
//查询数据库
smarty->assign("view");
?>
b 页面静态化
<?php
$stu_id=$_GET['stu_id']
$html_file="stu_id.html";
if(memcached中有){
//显示
exit
}
?>
c 内存缓存
<?php
$stu_id=$_GET['stu_id']
if(file_exitsts($html_file)){
//显示
exit
}
//查询数据库
smarty->assign("view");
?>
第二讲 memcached的实际操作
安装 memcached -d install
停止 memcached -d stop
启动 安装 memcached -d start
需要的memcached的内存大于64M应当这样启动
memcached -m 256 -d start
LRU least Rcently used 算法
如果需要换端口 memcached -d -m 30 -l 127.0.0.1 -p 9000 -d start
使用工具
telnet 就能够直接使用缓存工具
php程序(1 memcache扩展;2memcached扩展 3 使用socket访问)
curd(create/read/update/delete)
add name 0 60 5 【说明add是指令】 是以键值对的形式存放。
get
set
add
replace
append
prepend
incr
decr
delete
flush_all 全部清空
stats
第二讲 memcached的实际使用
a php.ini中打开配置 extension=php_memcache.dll
b 复制php_memcache.dll
c 编程测试
添加
<?php
/*
* Created on 2012-7-23
*
* write by harry
*
*/
// use curd to discuzz
//1.实例化一个Memcache对象
$mem=new Memcache();
//2 连接到指定的
$mem->connect("127.0.0.1",11211);
//0表示不压缩数据,如要使用压缩MEMCACHE_COMPRESSED
$mem->add("name","shunpin",0,30);
$arr1=array("tinghua","beida");
$mem->add("arr",$arr1,100);
class person{
public $age;
public $name;
public function __construct($age,$name){
$this->age=$age;
$this->name=$name;
}
}
$per1=new person(10,"xiaoming");
$mem->add("per1",$per1,100);
?>
获取
<?php
/*
* Created on 2012-7-23
*
* write by harry
*
*/
$mem=new Memcache;
$mem->connect("127.0.0.1",11211);
$val=$mem->get("name");
echo $val;
$arr1=$mem->get("arr");
var_dump($arr1); //array(2) { [0]=> string(7) "tinghua" [1]=> string(5) "beida" }
//可以存入数值 字符串 boolean 如果放的ture 返回的是1 false 就是空 放入数组
require "add.php";
$per1=$mem->get("per1");
var_dump($per1);
//资源是放不进去的
?>
序列化 网络传输的时候,数据的类型保持不变,否则,类型丢失,先序列化,再发送;
serialize()
json_encode()
memcached的价值分析:
cookie/session/mem
关于如何使用多个memcached 缓存程序
<?php
/*
* Created on 2012-7-23
*
* write by harry
*
*/
//如果网站,需要多个memcached缓存系统
//connect 立即向localhost的11211端口发出连接
$mem=new Memcache();
$mem->addServer("192.168.1.100",11211);
$mem->addServer("192.168.1.200",11211);
$mem->addServer("192.168.1.222",11211);
//创建多个memcache服务使用
$mem->add("name","zs",100);
?>
分享到:
相关推荐
韩顺平玩转oracle视频教程笔记
传智播客PHP培训 韩顺平 PHP视频教程 Ajax技术 课堂笔记
韩顺平老师oracle视频教程听课笔记.pdf
电驴韩顺平php教程中xml内的笔记整理
泰牛程序员韩顺平老师2017年php视频教程笔记。。。。。
这是自己看完顺平老师149讲做的笔记,整整三个月,每节课的笔记加图解,因为自己的确费了很大的功夫,所以要的分有点高,但学php的朋友,这个如果不适合你,你给我留言,我亲自给你道歉!
韩顺平编写的java学习笔记(全) 包含各种java的基本语法,以及3大项目的详细设计解释以及代码
收集了韩顺平老师各个课程的课堂笔记,可谓是最全的了,包含了java , jsp , servlet, php , oracle , struct, linux , javascript 等
韩顺平老师oracle视频教程听课笔记.pdf
韩顺平java从入门到精通视频教程源代码和笔记,分享给大家
韩顺平.j2ee视频实战教程jsp第9讲(上集) 韩顺平.j2ee视频实战教程jsp第9讲(中集) 韩顺平.j2ee视频实战教程jsp第9讲(下集) 韩顺 平J2EE视频实战教程JSP课程_课件_笔记(共9讲) 韩顺平j2ee视频实战教程jsp时尚购物...
韩顺平—玩转oracle视频教程笔记,包括了他的oracle视频教程的所有笔记,部分回顾上节课内容的文字已删除,保留的是每节课的所有完整笔记
韩顺平struts框架视频学习笔记,附有详细的文档和图片
韩顺平j2ee视频实战教程servlet.课件(精选整理
韩顺平2018Linux视频笔记,我添加了书签
韩顺平.linux视频教程第13讲.rpm管理.samba安装配置使用.wmv 74 MB 韩顺平.linux视频教程第14讲.crontab详解.wmv 58 MB 韩顺平.linux视频教程第15讲.进程的介绍和管理.wmv 46 MB 韩顺平.linux视频教程第16讲.top...
传智播客PHP培训 韩顺平 PHP视频教程 Ajax技术 课堂源代码