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

Memcache

2015-09-01 14:32 746 查看
定义: Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像视频文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。 工作流程: 先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现);每次更新数据库的同时更新memcached中的数据,保证一致性;当分配给memcached内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。 安装: /article/5069636.html 启动:/usr/local/bin/memcached -d -m 10 -u root -l 192.168.107.212 -p 12000 -c 256 -P /usr/local/bin/memcached.pid



http://blog.csdn.net/clh604/article/details/16342755通过telnet连接查看memcache服务器) 查看端口号: 1.用ps -ef 查看运行的PID ps -ef | grep memcached 2.根据第一步中的PID用netstat -anp查看具体端口 netstat -anp | grep 13139





















如果用telnet连不上就把防火墙关掉试试 永久性生效,重启后不会复原
开启: chkconfig iptables on

关闭: chkconfig iptables off
即时生效,重启后复原

开启: service iptables start

关闭: service iptables stop
参考博客 http://blog.csdn.net/liqfyiyi/article/details/7698032(防火墙设置)

通过程序控制memcache
<?php
$mem = new Memcache;
$mem->connect("192.168.107.212", 12000);
//Memcache::set方法有四个参数,第一个参数是key,第二个参数是value,第三个参数可选,表示是否压缩保存,第四个参数可选,用来设置一个过期自动销毁的时间。
$mem->set('test','123',0,60);
//Memcache::add方法的作用和Memcache::set方法类似,区别是如果 Memcache::add方法的返回值为false,表示这个key已经存在,而Memcache::set方法则会直接覆写。
$mem->add('test','1243',0,60);
//Memcache::get方法的作用是获取一个key值,Memcache::get方法有一个参数,表示key。
$result = $mem->get('test');//输出为'123'
//var_dump($result);
//Memcache::replace 方法的作用是对一个已有的key进行覆写操作,Memcache::replace方法有四个参数,作用和Memcache::set方法的相同。
$mem->replace('test','456',0,60);
//Memcache::delete方法的作用是删除一个key值,Memcache::delete方法有两个参数,第一个参数表示key,第二个参数可选,表示删除延迟的时间。
$mem->delete('test',60);
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: