memcache总结
1简介:
Memcache(内存缓存) 是一个高性能的分布式的内存对象缓存系统。通过在内存里维护一个巨大的hash表。
其实简单说点就是一个软件,可以用来维护内存,将数据在内存中使用,减少I/O
2工作原理:
memcached是以守护程序方式运行于一个或多个服务器中,随时会接收客户端的连接和操作。
3安装:
分为两个过程:memcache服务器端的安装和memcahe客户端的安装
1)客户端安装:
所谓客户端安装就是php(或其他程序)去使用服务器端的Memcache提供的函数,需要php添加扩展
2)服务器端安装
windows下安装:
Memcahced.exe -d install [uninstall]
linux下安装
由于是基于libevent事件,因此需要先安装libevent
安装libevent时
./configure –with-libevent=/usr
Make && make install
安装memcached
./configure –with-libevent=/usr
Make && make install
4使用telnet命令操作memcached
telnet 127.0.0.1 11211
成功连接后,回车两次就可以进行操作了。
5Memcache的安全
Memcache服务器端都是直接通过客户端连接后直接操作,没有任何验证过程,这样如果服务器直接暴露在互联网的话,是比较危险的。为了安全起见,建议两点。
1)最好把两台服务器之间的访问时内网形式的,一般是web服务器跟Memcache服务器之间。普遍的服务器器都是有两块网卡,一块指向互联网,一块指向内网,那么就让web服务器通过内网的网卡来访问Memcache服务器,我们Memcache的服务器上启动时就监听内网的IP地址和端口,内网间的访问能够有效阻止其他非法的访问。
# memcached -d -m -u root -l 192.168.0.200 -p -c -P /tmp/memcached.pid
下面代码是使用php连接memcache中的小实例
<?php
$mem=new Memcache;
$mem->connect('localhost',11211);
$mem->add('mystr','this is a memcache test!',MEMCACHE_COMPRESSED,3600);//增加一个条目到缓存服务器
$mem->set('mystr','this is another test!',MEMCACHE_COMPRESSED,3600);
$mem->add('myarr',array('aa','bb','cc'));
echo$mem->get('mystr');
//print_r($mem->get('myarr'));
class Person{
public $name='123';
function test(){
echo "this is a test";
}
}
$p=new Person;
$mem->add('myobj',$p);
var_dump($mem->get('myobj'));
echo "<br/>";
echo $mem->getversion();
echo "<br/>";
echo "<pre>";
print_r($mem->getstats()); echo "</pre>";
$mem->close();
ps:$mem->add()第四个参数是指定过期时间,如果此值设置为0表明此数据永不过期。你可以设置一个UNIX时间戳或 以秒为单位的整数(从当前算起的时间差)来说明此数据的过期时间,但是在后一种设置方式中,不能超过 2592000秒(30天)。
在面试题中见到一个是设置31天,这个参数就不能写成$mem->add(,,,31*24*3600),而应写成$mem->add(,,,time()+31*24*3600)
memcache总结的更多相关文章
- PHP之Memcache缓存详解
Mem:memory缩写(内存):内存缓存 1. 断电或者重启服务器内存数据即消失,即临时数据: Memcache默认端口:11211 存入方式:key=>>value ...
- 走进缓存的世界(三) - Memcache
系列文章 走进缓存的世界(一) - 开篇 走进缓存的世界(二) - 缓存设计 走进缓存的世界(三) - Memcache 简介 Memcache是一个高性能的分布式内存对象缓存系统,用于动态Web应用 ...
- 网站缓存技术总结( ehcache、memcache、redis对比)
网站技术高速发展的今天,缓存技术已经成为大型网站的一个关键技术,缓存设计好坏直接关系的一个网站访问的速度,以及购置服务器的数量,甚至影响到用户的体验. 网站缓存按照存放的地点不同,可以分为客户端缓存. ...
- MemCache超详细解读
MemCache是什么 MemCache是一个自由.源码开放.高性能.分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高 ...
- 如何在腾讯开放平台的云服务器上安装php和memcache 一
由于被通知腾讯的CEE要关闭了,必须自己切换到服务器,自己装php.烦到一个B. 首先找到官方wiki: http://wiki.qcloud.com/wiki/SUSE%E7%8E%AF%E5%A2 ...
- 搭建LNAMP环境(七)- PHP7源码安装Memcached和Memcache拓展
上一篇:搭建LNAMP环境(六)- PHP7源码安装MongoDB和MongoDB拓展 一.安装Memcached 1.yum安装libevent事件触发管理器 yum -y install libe ...
- 前端学PHP之PHP操作memcache
× 目录 [1]安装 [2]连接 [3]增删改查[4]分布式[5]状态[6]安全[7]应用 前面的话 和访问mysql服务器类似,PHP也是作为客户端API访问memcached服务器的,所以同样需要 ...
- 前端学PHP之MemCache
× 目录 [1]作用 [2]安装 [3]管理[4]命令 前面的话 Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括 ...
- Memcache缓存系统构建一
在如今这个高效率的社会中,怎样将这个高效率应用到自己的程序中,是一个值得追寻和值得探讨的问题.因为这个memcache能够很好的提高检索速度,提升用户体验,而且重要的是减少数据库的访问.这就大大的提高 ...
- PHP实现查询Memcache内存中的所有键与值
使用Memcache时,我们可以用memcache提供的get方法,通过键查询到当前的数据,但是有时候需要查询内存中所有的键和值,这个时候可以使用下面的代码实现: <?php /** * Cre ...
随机推荐
- div元素上下左右居中
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- 经典算法题每日演练——第十四题 Prim算法
原文:经典算法题每日演练--第十四题 Prim算法 图论在数据结构中是非常有趣而复杂的,作为web码农的我,在实际开发中一直没有找到它的使用场景,不像树那样的频繁使用,不过还是准备 仔细的把图论全部过 ...
- jQuery本身方法($.each,$.map,$.contains,$ajax)
常用工具方法 (1)$.trim $.trim方法用于移除字符串头部和尾部多余的空格. $.trim(' Hello ') // Hello (2)$.contains $.contains方法返回一 ...
- projecteuler---->problem=19----Counting Sundays
You are given the following information, but you may prefer to do some research for yourself. 1 Jan ...
- 从头开始学JavaScript (二)——变量及其作用域
原文:从头开始学JavaScript (二)--变量及其作用域 一.变量 ECMAscript变量是松散型变量,所谓松散型变量,就是变量名称可以保存任何类型的数据,每个变量仅仅是一个用于保存值的占位符 ...
- BZOJ 3209 花神的数论题 数位DP+数论
题目大意:令Sum(i)为i在二进制下1的个数 求∏(1<=i<=n)Sum(i) 一道非常easy的数位DP 首先我们打表打出组合数 然后利用数位DP统计出二进制下1的个数为x的数的数量 ...
- HDU 1080 Human Gene Functions--DP--(变形最长公共子)
意甲冠军:该基因序列的两端相匹配,四种不同的核苷酸TCGA有不同的分值匹配.例如T-G比分是-2,它也可以被加入到空格,空洞格并且还具有一个相应的核苷酸匹配分值,求最大比分 分析: 在空气中的困难格的 ...
- SharePoint 2013 搜索SharePoint 特定列和特定文档(自己定义搜索)
SharePoint 2013 搜索SharePoint 特定列和特定文档 1,操作步骤和图例,因语言和版本号的不同 我尽量使用抓图方式. 2. In Central Administration, ...
- 浏览器扩展系列————异步可插入协议(pluggable protocol)的实现
原文:浏览器扩展系列----异步可插入协议(pluggable protocol)的实现 IE中有很多我们比较熟悉的协议,如http,https,mailto,ftp等.当然你也可以实现自己定义的协议 ...
- EasyUI combox实现联动
多的时间将被用于combox联动效应.一个选择combox的值自己主动出这值有关相应的其他信息,例如省市联动.最近,我刚刚会见了班似要求,随着EasyUI combobox 控制完成.假设ASP.N ...