位置: 编程技术 - 正文

PHP:Memcached::cas()的用法_Memcached类

编辑:rootadmin
Memcached::cas

推荐整理分享PHP:Memcached::cas()的用法_Memcached类,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

(PECL memcached >= 0.1.0)

Memcached::cas — 比较并交换值

说明 public bool Memcached::cas ( float $cas_token , string $key , mixed $value [, int $expiration ] )

Memcached::cas()执行一个“检查并设置”的操作,因此,它仅在当前客户端最后一次取值后,该key 对应的值没有被其他客户端修改的情况下, 才能够将值写入。检查是通过cas_token参数进行的, 这个参数是Memcach指定给已经存在的元素的一个唯一的位值, 怎样获取这个值请查看Memcached::get*() 系列方法的文档。注意:这个值作为double类型是因为PHP的整型空间限制。

译注:这是Memcached扩展比Memcache扩展一个非常重要的优势, 在这样一个系统级(Memcache自身提供)的冲突检测机制(乐观锁)下, 我们才能保证高并发下的数据安全。

参数

cas_token

与已存在元素关联的唯一的值,由Memcache生成。

key PHP:Memcached::cas()的用法_Memcached类

用于存储值的键名。

value

存储的值。

expiration

到期时间,默认为 0。 更多信息请参见到期时间。

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE。 如果在元素尝试存储时发现在本客户端最后一次获取后被其他客户端修改,Memcached::getResultCode() 将返回Memcached::RES_DATA_EXISTS。

范例

Example #1 Memcached::cas() 示例

<?php$m=newMemcached();$m->addServer('localhost',);do{/*获取ip列表以及它的标记*/$ips=$m->get('ip_block',null,$cas);/*如果列表不存在,创建并进行一个原子添加(如果其他客户端已经添加,这里就返回false)*/if($m->getResultCode()==Memcached::RES_NOTFOUND){$ips=array($_SERVER['REMOTE_ADDR']);$m->add('ip_block',$ips);/*其他情况下,添加ip到列表中,并以cas方式去存储,这样当其他客户端修改过,则返回false*/}else{$ips[]=$_SERVER['REMOTE_ADDR'];$m->cas($cas,'ip_block',$ips);}}while($m->getResultCode()!=Memcached::RES_SUCCESS);?>

参见

Memcached::casByKey() - 在指定服务器上比较并交换值

PHP:Memcached::appendByKey()的用法_Memcached类 Memcached::appendByKey(PECLmemcached=0.1.0)Memcached::appendByKey向指定服务器上已存在元素后追加数据说明publicboolMemcached::appendByKey(string$server_key,string$key,string$value)除

PHP:Memcached::append()的用法_Memcached类 Memcached::append(PECLmemcached=0.1.0)Memcached::append向已存在元素后追加数据说明publicboolMemcached::append(string$key,string$value)Memcached::append()向已经存在的元素后追加va

PHP:Memcached::addServers()的用法_Memcached类 Memcached::addServers(PECLmemcached=0.1.1)Memcached::addServers向服务器池中增加多台服务器说明publicboolMemcached::addServers(array$servers)Memcached::addServers()向服务器池中增

标签: PHP:Memcached::cas()的用法_Memcached类

本文链接地址:https://www.jiuchutong.com/biancheng/280125.html 转载请保留说明!

上一篇:PHP:Memcached::delete()的用法_Memcached类

下一篇:PHP:Memcached::appendByKey()的用法_Memcached类

  • 应交税费的借贷方向
  • 电商账务处理及收入成本如何确定?
  • 合同资产在资产负债表中列入什么项目
  • 企业如何加强存货管理工作
  • 长期股权投资成本法转权益法追溯调整
  • 上个月银行流水没有录这个月补录
  • 收到运输发票需要开票吗
  • 2016的发票2017年还能用吗?
  • 支票只能同城吗
  • 收银员现金管理流程
  • 对公支出没有发票计入什么科目
  • 如何调整账务
  • 项目结束,财务应该怎么做
  • 网页浏览器字体颜色怎么改
  • 金融工具中股利是什么
  • 资产负债表短期负债包括哪些
  • 苹果电脑记笔记
  • 财务软件的摊销额计入管理费用
  • 个体工商户应申报套餐无增值税吗
  • 开办补贴
  • 企业接受母公司代为缴纳税款会计分录
  • linux root 命令
  • jinjia.exe进程
  • 回迁房?
  • 公司购买二手车需要交什么税
  • 科技型中小企业享受优惠税收政策
  • 待抵扣进项税额和进项税额的区别
  • php下载远程文件到服务器
  • 劳动仲裁的调解款要扣税吗
  • controller层,service层,dao
  • java定时器怎么用
  • 如何正确配置防火墙安全策略
  • 商品咨询服务包含什么
  • 周转材料二级科目有哪些
  • 股东借款作为项目投入的依据
  • 汇率差的差额计算方式
  • 简易征收销售额是什么意思
  • 注册资金如何使用
  • 个体工商户季度超过9万怎么交税
  • 小微企业免征的增值税怎么做账
  • 材料成本差异的超支与节约
  • 非营利组织增值税怎么处理
  • 信用减值损失和资产减值损失的区别
  • 社保局会给失业人员打电话吗
  • 风险纳税人认定条件2020
  • 有外经证还要缴纳企业所得税吗
  • 营改增后房地产企业如何开票
  • 企业接受股东划入资产的处理
  • 资金账簿印花税减半政策
  • 物业门禁卡怎么入账
  • 支付利息的账务处理
  • 税后净利润弥补亏损分lu1
  • 汇算清缴结束后发现有错账
  • 电子发票报销需要在背后签名吗?
  • 企业网银的电子对账未签约需要本人去吗
  • 外商投资企业开什么发票
  • 私营企业固定资产法律制度
  • MySQL中实现插入或更新操作(类似Oracle的merge语句)
  • mysql 5.7.13 winx64安装配置教程
  • windows10怎么隐藏工具栏
  • mac os图片
  • centos 安装
  • win7系统禁止更新
  • xp系统与win7系统的电脑怎么组成局域网
  • ubuntu 04 10
  • windows7开机
  • kworker进程如何解决
  • win8.1开机音乐
  • unity3d需要购买吗
  • nodejs oom
  • unity3d脚本执行顺序
  • js时间比较大小的方法
  • bat定义函数
  • 教学实例分析怎么写
  • staticlayout 换行
  • 如何在标题栏显示图片
  • 登录电子税务局显示时间错误如果解决
  • 税务检查的三种常用方法
  • 关于企业所得税的说法
  • 小企业会计准则会计科目表
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设