今天介绍一个无锁共享内存--Yac

widuu 2013-9-18 PHP技术 7,459 2 喜欢 (0)

cache
这几天主要都在介绍一个人的产品,额,呵呵就这样吧!试过memcached、APC和Yac个人感觉还是Yac的速度比较快的,比Apc的速度要快,而且是无锁的,减少对CPU的消耗,有人测试APC比memcached快一倍,但是Yac比APC还要快,针对CPU的消耗比较小,首先介绍安装吧,我本人是lnmp的环境,centos!因为Apc的php资料太多了我就不介绍了,它对windows的支持性也灰常好!
yac的项目地址https://github.com/laruence/yac
安装phpzie
[php]
$yum install phpize
$yum install git
$git clone https://github.com/laruence/yac.git
$cd yac
$phpize
$./configure --with-php-config=/path/to/php-config #针对自己的php-config设置
$make && make install
[/php]
OK,然后我们就要php.ini包含就可以了
[php]
extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/yac.so"
yac.enable = 1
yac.keys_memory_size = 4M
yac.values_memory_size = 64M
yac.compress_threshold = -1
yac.enable_cli = 0
[/php]
配置好重启服务
[php]
killall php-fpm
/usr/local/php/sbin/php-fpm &
/usr/local/nginx/sbin/nginx &
[/php]
然后写代码测试了
[php]
<?php
//phpinfo();
$yac = new Yac();

for ($i = 0; $i<1000; $i++) {
$key = "xxx" . rand(1, 10000);
$value = str_repeat("x", rand(1, 10000));

if (!$yac->set($key, $value)) {
var_dump("write " . $i);
}

if ($value != ($new = $yac->get($key))) {
var_dump("read " . $i);
}
}

var_dump($i);
[/php]

转载请注明来自微度网络,本文标题:《今天介绍一个无锁共享内存--Yac》

喜欢 0 发布评论
Top