阿里云OCS试用

官方对于OCS PHP使用说明不完善,网上搜索,总算找到一篇博文介绍.

OCS其实就是 memcached 的云实现. 协议兼容,只是针对容错,扩容等功能做了扩展.

目前有128MB的免费配置活动,对于有阿里云ECS的,还是挺不错的.

不用自己机器安装memcached,以节省点内存.

介于实际动手操作,所以还是在这里简单写下步骤,这里以ubuntu为例:

使用下面这两个特定版本吧,其他版本不知道兼容性如何了.

libmemcached-1.0.16.tar.gz :  点我跳转到aliyun下载链接

memcached-2.1.0.tgz : 

http://pecl.php.net/get/memcached-2.1.0.tgz


下载好后,运行下面这个bash脚本:


echo "now install libmemcached-1.0.16 and php-memcached";
if [ ! -f 'libmemcached-1.0.16.tar.gz' ];then
	echo "libmemcached-1.0.16.tar.gz need!";
	exit
fi
pwd
tar zxf libmemcached-1.0.16.tar.gz
cd libmemcached-1.0.16
./configure --prefix=/usr/local/libmemcached  
make && make install
cd ..
if [ ! -f 'memcached-2.1.0.tgz' ];then
	echo "memcached-2.1.0.tgz need!";
	exit
fi
tar zxf memcached-2.1.0.tgz
cd memcached-2.1.0
phpize5
./configure --with-libmemcached-dir=/usr/local/libmemcached --enable-memcached-sasl
make && make install 

echo "extension=memcached.so" >> /etc/php5/conf.d/memcached.ini
/etc/init.d/php5-fpm restart 

echo "php libmemcached and memcached ext install success,you can use aliyun ocs now!";


php memcached扩展,关键是需要加上  --enable-memcached-sasl ,否则不支持用户名密码,就不能使用OCS了.

没有问题的话,就可以使用了.下面我们来测试下:


<?php

$ocs_memcached_addr = 'xxx.m.cnhzalicm10pub001.ocs.aliyuncs.com';
$ocs_username = 'xxxx';
$ocs_pwd = 'xxx';
$ocs_port = 11211;


$mmc = new Memcached();
$mmc->setOption(Memcached::OPT_COMPRESSION, false);
$mmc->setOption(Memcached::OPT_BINARY_PROTOCOL, true);
$mmc->addServer($ocs_memcached_addr, 11211);
$mmc->setSaslAuthData($ocs_username,$ocs_pwd);

//$mmc->addServer('node2', 11211, MemcacheConfig::MEMCACHE_PERSISTENT, 2);
$mmc->set('key', 'valuesss');
echo "key:".$mmc->get('key')." <br>\n";

for($i=0;$i<10;$i++){ 
     $mmc->set("key-$i", "pow($i,2)=".($i*$i));
     echo "key[".$i."]is:" ,$mmc->get("key-$i")." <br>\n";
}


var_dump($mmc->delete('key'));
var_dump($mmc->get('key'));
$mmc->quit();

?>


运行结果如下:


ocs_test_result.png


| 0个评论