memcache

来源:互联网 发布:wan端口未连接 编辑:程序博客网 时间:2024/06/06 07:59
1.memcache的工作机制:是在内存中开辟一块空间,然后建立一个HashTable  memcached 自管理这些HashTable


2.memcache的安装分为 memcache的服务器安装 和 memcached客户端安装
服务端安装时指的在服务器上安装实现数据存储 客户端安装时指php去使用服务端安装成功的memcache所提供的函数,php需要添加扩展


3.初始化memcache的对象
$mem  = new memcache;


链接到memcache服务器
$mem->connet('127.0.0.1',12000);//第一个参数服务器的IP  第二个参数是memcache提供的端口号


保存数据
$mem->set('key1','value1',0,60);
第一个参数是key,用来定位一个元素  
第二个参数是用来保存数据的,也就是该元素对应的值 
第三个参数是一个flag  一般设置为0 或者 MEMCAHCE_COMPRESSED  
第四个参数是数据的有效期  如果设置为0表示永久有效 单位是秒


获取数据
$mem->get('keys');


替换数据
$memcache->replace('key1','value1',0,60)


4.保存数组
$arr = array('aaa','bb','ccc','ddd');
$mem->set('key2',$arr,0,60);


5.删除  
$mem->delete('key1');
全部清除
$mem->flush();


6.memcahe安全
a.内网访问
两台服务器之间的访问是内网形态的,一般是web服务器和memcache服务器,普通的服务器都是有两块网卡,一块是指向互联网,一块是指向内网,那么就让web服务器通过内网的网卡访问memcache的服务器
,我们memcache的服务器上启动的时候就监听内网的IP地址和端口,内网间的访问能够有效阻止其他非法访问
# memcached -d -m 1024 -u root -l 192.168.0.200 -p 11211 -c 1024 -P /tmp/memcached.pid
Memcache服务器端设置监听通过内网的192.168.0.200的ip的11211端口,占用1024MB内存,并且允许最大1024个并发连接
b.设置防火墙
都是通过外网IP来访问memcache的话,可以采用防火墙或者代理来过滤非法访问
一般我们在Linux下可以使用iptables或者FreeBSD下的ipfw来指定一些规则防止一些非法的访问,比如我们可以设置只允许我们的Web服务器来访问我们Memcache服务器,同时阻止其他的访问。
# iptables -F
# iptables -P INPUT DROP
# iptables -A INPUT -p tcp -s 192.168.0.2 --dport 11211 -j ACCEPT
# iptables -A INPUT -p udp -s 192.168.0.2 --dport 11211 -j ACCEPT
上面的iptables规则就是只允许192.168.0.2这台Web服务器对Memcache服务器的访问,能够有效的阻止一些非法访问,相应的也可以增加一些其他的规则来加强安全性,这个可以根据自己的需要来做。
原创粉丝点击