阿里云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’)就能从池里获取连接。


评论:

  1. unknown 回复2015年05月31日 04时56分
    磨者
    不错的文章,内容气势磅礴.禁止此消息:nolinkok@163.com
    肉牛 http://www.xmten.com/

  2. 我来说两句:

      切换  

    磨途歌检测发现,您当前使用的浏览器版本过低,要想使用画板模式,请先更新浏览器

      切换  

    磨途歌随机验证码