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 ...
随机推荐
- 国外android开源站点
http://android-arsenal.com/
- HDOJ 5017 Ellipsoid
第一次尝试模拟退火..... Ellipsoid Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java ...
- 解决:<net.sf.ehcache.util.UpdateChecker> : New update(s) found: 2.6.5
由于该项目采用ehcache,所以tomcat每次登录你开始打印net.sf.ehcache.util.UpdateChecker doCheck 一旦有没有特别关注.从今天开始 Tomcat 什么时 ...
- HDU 4005 The war (图论-tarjan)
The war Problem Description In the war, the intelligence about the enemy is very important. Now, our ...
- 开源搜索引擎Iveely 0.8.0
开源搜索引擎Iveely 0.8.0 这是一篇博客,不是,这是一篇开源人的心酸和喜悦,没有人可以理解我们的心情,一路的辛酸一路的艰辛,不过还好,在大家的支持下,总算是终见天日,谢谢那些给予我们无私帮助 ...
- QTP 11.05下载并完成+皴
下载链接: QQ:1010305129 QTP11.50 下载地址: 迅雷下载:http://kuai.xunlei.com/d/HhEvBQJ..AAgxtNQada 电驴下载地址:ed2k://| ...
- Swift # Apple Pay集成
苹果正式开放了Apple Pay支付系统.Apple Pay是一个基于NFC的支付系统,不久将被数以万计的线下零售商店予以支持.即便这项科技并不是彻底的突破性进展,但它足以推动许多公司和零售商来支持这 ...
- Spring该讲座
看看今天Spring. 国内搞Java开发的朋友们.对Spring一定不会陌生. Spring的历史? 谈起Spring.就会想起Ejb2.0.虽然.现实中有非常多基于Ejb2.0的成功系统,可是Ej ...
- 8.无法訪问developer.android.com的解决方式。
问题:无法訪问developer.android.com,就无法知道Android的最新信息. 解决的方法:寻找国外的代理ip,比方http://www.xici.net.co/上面的国外代理ip. ...
- 网站静态化处理—CSI(5)
网站静态化处理—CSI(5) 讲完了SSI,ESI,下面就要讲讲CSI了 ,CSI是浏览器端的动静整合方案,当我文章发表后有朋友就问我,CSI技术是不是就是通过ajax来加载数据啊,我当时的回答只是说 ...