阿里云OCS服务,免费的memcached缓存服务器
[文章作者:磨延城 转载请注明原文出处: https://mo2g.com/view/125/ ]
开放缓存服务( Open Cache Service,简称OCS)是在线缓存服务,为热点数据的访问提供高速响应.说白了,就是一款基于memcached开发的对外云缓存服务器,完全可以把OCS当成memcached来使用.最令人兴奋的是,实名认证ECS的用户可 免费开通128M缓存的的OCS服务.对于512MB的小内存用户来说,简直就是雪中送炭.就算是初创业公司,也是一笔财富.
开放缓存服务( Open Cache Service,简称OCS)是在线缓存服务,为热点数据的访问提供高速响应。说白了,就是一款基于memcached开发的对外云缓存服务器,完全可以把OCS当成memcached来使用。最令人兴奋的是,实名认证ECS的用户可免费开通128M缓存的的OCS服务。对于512MB的小内存用户来说,简直就是雪中送炭。就算是初创业公司,也是一笔财富。
阿里云官方提供的编译方法太麻烦了,如果你习惯了自己编译,那可以去阿里云看看他们的教程。下边分享Centos系统是怎么通过Yum安装配置,使用OCS服务的。
1)安装memcached,SASL等相关环境
yum install memcached php-pecl-memcached cyrus-sasl-plain cyrus-sasl cyrus-sasl-devel cyrus-sasl-lib
可能会缺少yum源,导致安装失败,请先运行如下命令,更详细的服务器环境安装配置,请看这篇文章《centos 6.4 搭建nginx+php+MariaDb+memcached开发环境》。
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm --nodeps
2)编辑memcached配置
vi /etc/php.d/z-memcached.ini
搜索memcached.use_sasl,把
memcached.use_sasl = Off
改为
memcached.use_sasl = On
3)重新加载php
/etc/init.d/php-fpm reload
到此,就可以使用PHP连接开通的OCS服务了。下边是官方给的利用PHP长连接OCS的方法:
<?php $memc = new Memcached(‘ocs’);//这里的ocs,就是persistent_id if (count($memc->getServerList()) == 0) /*建立连接前,先判断*/ { echo “New connection”.”<br>”; /*所有option都要放在判断里面,因为有的option会导致重连,让长连接变短连接!*/ $memc->setOption(Memcached::OPT_COMPRESSION, false); $memc->setOption(Memcached::OPT_BINARY_PROTOCOL, true); /* addServer 代码必须在判断里面,否则相当于重复建立’ocs’这个连接池,可能会导致客户端php程序异常*/ $memc->addServer(“your_ip”, 11212); $memc->setSaslAuthData(“user”, “password”); } else { echo “Now connections is:”.count($memc->getServerList()).”<br>”; } $memc->set(“key”, “value”); echo “Get from OCS: “.$memc->get(“key”); //$memc->quit();/*代码结束的地方一定不能加quit,否则变短连接!*/
上述代码要特别注意的三个地方都加了注释。构造函数里的‘ocs’关键字,就相当于一个连接池了,需要使用的连接调用new Memcached(‘ocs’)就能从池里获取连接。
我来说两句: