PHP扩展YAC安装过程

1.git clone https://github.com/laruence/yac
cd yac
2.phpize
3../configure --with-php-config=/usr/local/php/bin/php-config
4.make && make install
5.修改php.ini 加一句
extension = yac.so
如果是第一次安装扩展模块,请把
extension_dir 修改为安装完以后的yac.so文件所在目录。如下图所示:
extension_dir = /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/
然后重启服务器 重启 php

方法

Yac :: __构造

Yac::__construct([string $prefix = ""])
Yac的构造方法,您可以指定一个前缀,用于在执行set / get / delete时将其添加到任何键

<?php
$ yac = new Yac(“ myproduct_ ”);
?>
Yac :: set

Yac::set($key, $value[, $ttl])
Yac::set(array $kvs[, $ttl])
将值存储到Yac缓存中,键是缓存唯一的,所以使用相同的键存储第二个值将覆盖原始值。

<?php
$ yac = new Yac();
$ yac - > set(“ foo ”,“ bar ”);
$ yac - > set(
array(“ dummy ” => “ foo ”,“ dummy2 ” => “ foo ”, ) );

?>
Yac :: get

Yac::get(array|string $key)
从缓存中获取存储的变量。如果一个数组被传递,那么每个元素被提取和返回。

<?php
$ yac = new Yac();
$ yac - > set(“ foo ”,“ bar ”);
$ yac - > set(
array(“ dummy ” => “ foo ”,“ dummy2 ” => “ foo ”, ) ); $ yac - > get(“ dummy ”); $ yac - > get(array(“

?>
Yac :: delete

Yac::delete(array|string $keys[, $delay=0])
从缓存中删除存储的变量。如果指定了延迟,则在$ delay秒后该值将被删除。

Yac :: flush

Yac::flush()
立即使所有现有项目无效。它实际上并不释放任何资源,它只会将所有项目标记为无效。

Yac :: info

Yac::info(void)

获取缓存信息

<?php
....
var_dump($ yac - > info()); / 将返回一个数组,如: array(11){ [“memory_size”] => int(541065216) [“slots_memory_size”] => int(4194304) [“values_memory_size”] => int(536870912) [“segment_size” ] => int(4194304) [“segment_num”] => int(128) [“miss”] => int(0) [“hits”] => int(955) [“failed”] => int ) [“kicks”] => int(0) [“slots_size”] => int(32768) [“slots_used”] => int(955) } /

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个简单的Matlab程序,使用统一迭代法计算交直流混合电力系统的潮流: ```matlab % 设置电网参数 Rdc = [0 0.05 0.1; 0.05 0 0.05; 0.1 0.05 0]; % 直流支路电阻 Xdc = [0 0.2 0.3; 0.2 0 0.1; 0.3 0.1 0]; % 直流支路电抗 Bdc = [0 -0.05 -0.1; -0.05 0 -0.05; -0.1 -0.05 0]; % 直流支路电导 Rac = [0.05 0.1 0.15; 0.1 0.05 0.05; 0.15 0.05 0.1]; % 交流支路电阻 Xac = [0.2 0.3 0.4; 0.3 0.2 0.3; 0.4 0.3 0.2]; % 交流支路电抗 Bac = [0 -0.05 -0.1; -0.05 0 -0.05; -0.1 -0.05 0]; % 交流支路电导 Vdc = [1; 1; 1]; % 直流节点电压初值 Vac = [1; 1; 1]; % 交流节点电压初值 Pdc = [0.6; 0.4; 0.3]; % 直流节点有功功率 Qdc = [-0.4; -0.3; -0.2]; % 直流节点无功功率 Pac = [0.8; 0.5; 0.6]; % 交流节点有功功率 Qac = [-0.6; -0.5; -0.4]; % 交流节点无功功率 % 设置收敛条件 epsilon = 0.0001; max_iterations = 100; % 初始化迭代 iterations = 0; converged = false; % 迭代计算 while ~converged && iterations < max_iterations % 计算直流节点电流 Idc = (Pdc + 1j*Qdc)./conj(Vdc); % 计算直流节点导纳矩阵 Ydc = 1./(Rdc + 1j*Xdc) + 1j*Bdc; % 计算直流节点电压修正量 delta_Vdc = Ydc*Idc; % 更新直流节点电压 Vdc_new = Vdc + delta_Vdc; % 计算交流节点电流 Iac = (Pac + 1j*Qac)./conj(Vac); % 计算交流节点导纳矩阵 Yac = 1./(Rac + 1j*Xac) + 1j*Bac; % 计算交流节点电压修正量 delta_Vac = Yac*Iac; % 更新交流节点电压 Vac_new = Vac + delta_Vac; % 判断是否收敛 if max([max(abs(delta_Vdc./Vdc_new)), max(abs(delta_Vac./Vac_new))]) < epsilon converged = true; end % 更新迭代次数和节点电压 iterations = iterations + 1; Vdc = Vdc_new; Vac = Vac_new; end % 输出结果 if converged disp('收敛!'); disp('直流节点电压:'); disp(Vdc); disp('交流节点电压:'); disp(Vac); else disp('未收敛!'); end ``` 此程序使用默认的电网参数和节点功率,可以根据需要进行修改。注意,直流节点和交流节点的电压是分别计算的,并且需要同时满足收敛条件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值