介绍

yac拓展的作用是php进程之间共享数据缓存。这里我们不探讨如何安装yac拓展,而是探讨其详细用法。这篇文章的参考资料有鸟哥那篇yac拓展的文章与yac拓展github的描述。

注意事项

因为是php进程之间共享,所以它是单机的缓存,多台机器时还是用memcached或者redis更好。但是它可以和redis等形成互补,比如当缓存key比较大,使用又频繁,将缓存迁移到yac降低redis的压力。

yac是无锁的缓存,所以要尽量避免多个进程设置相同key。同时它还意味着有可能获取cache的时候拿到错误的数据,取决于分配了多少密钥槽和存储了多少密钥, 1/10000000(千万分之一)的概率会发生。

Yac使用部分crc校验,最好重新安排你的缓存内容,把最易变的字节放在头或尾。

使用限制

key名的长度不能超过48(YAC_MAX_KEY_LEN常量),如果key长度超过了,使用md5即可

value值不能超过64M(YAC_MAX_VALUE_RAW_LEN常量)

压缩后的value值不能超过1M(YAC_MAX_VALUE_COMPRESSED_LEN常量)

相关方法

看github就行了,github.com/laruence/ya…

需要说明的几点:

1.是可以一次性设置多个key的,但他们的过期时间都是一样的。

2.没有获取key过期时间的方法

3.flush方法,并不会释放任何资源,只是将所有项标记为无效

info方法返回的值的含义

Array

(

[memory_size] => 71303168

[slots_memory_size] => 4194304

[values_memory_size] => 67108864

[segment_size] => 4194304

[segment_num] => 16

[miss] => 23

[hits] => 90

[fails] => 0

[kicks] => 0

[recycles] => 0

[slots_size] => 32768

[slots_used] => 17

)

复制代码

1.miss代表没有命中的次数,hits缓存命中的次数,slots_size是key slot个数,也就是能存多少key,slots_used是已使用的key slot数,也就是当前key的个数。

2.memory_size:yac总共占用的内存,默认68M,slots_memory_size:key槽占用的内存默认4M,配置yac.keys_memory_size = 4M,4M有30K的key槽, 32M有100K的key槽,values_memory_size:value值占用的内存,配置yac.values_memory_size = 64M,默认64M,单位都是byte。 3.kicks被踢出的次数,recycles内存重新分配的次数。

参考

php7.0扩展yac,php的yac拓展详解相关推荐

  1. ubuntu所有php扩展php-7.0扩展列表

    ubuntu所有php扩展php-7.0扩展列表 sudo apt-get install php7.0-bcmath sudo apt-get install php7.0-bz2 sudo apt ...

  2. 论vue3.0和vue2.0区别之编程方式及例子详解

    系列文章目录 第一章 论vue3.0和vue2.0区别之编程方式及例子详解 第二章 同一台电脑 实现 vue-cli2和vue-cli3同时并存 及 常见命令 第三章 vue3.0项目实战 - Ele ...

  3. Spark 3.2.0 版本新特性 push-based shuffle 论文详解(一)概要和介绍

    前言 本文隶属于专栏<大数据技术体系>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见大数据技术体系 目录 Spark 3.2.0 ...

  4. C语言0长度数组(可变数组/柔性数组)详解

    CSDN GitHub C语言0长度数组(可变数组/柔性数组)详解 AderXCoding/language/c/zero_length_array 本作品采用知识共享署名-非商业性使用-相同方式共享 ...

  5. Java6.0中Comparable接口与Comparator接口详解

    Java6.0中Comparable接口与Comparator接口详解 说到现在,读者应该对Comparable接口有了大概的了解,但是为什么又要有一个Comparator接口呢?难道Java的开发者 ...

  6. Spark 3.2.0 版本新特性 push-based shuffle 论文详解(二)背景和动机

    前言 本文隶属于专栏<大数据技术体系>,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见大数据技术体系 目录 Spark 3.2.0 ...

  7. php7.0扩展yac,配置 PHP7, OPCache, Yac,Xiuno奔向 0.00x 秒

    配置 PHP7, OPCache, Yac,Xiuno奔向 0.00x 秒 配置Xiuno的缓存,让Xiuno运行在OPCache+Yac上. 配置PHP7 1. 下载源代码: wget http:/ ...

  8. php7.0扩展yac,php扩展之yac安装

    git克隆 $ git clone https://github.com/laruence/yac.git 解压安装 注意这里的php-config可能不一样 查看php-config位置 $wher ...

  9. php7.0扩展yac,PHP扩展YAC安装过程

    1.git clone https://github.com/laruence/yac cd yac 2.phpize 3../configure --with-php-config=/usr/loc ...

  10. 【PHP】 php7.0 扩展列表

    php7.0安装扩展 sudo apt-get install php7.0-bcmath sudo apt-get install php7.0-bz2 sudo apt-get install p ...

最新文章

  1. 枚举enum与#define 宏的区别?
  2. Binder学习指南
  3. ECMA学习小结(3)——constructor 和 prototype
  4. 并行计算——基础并行计算
  5. 数据安全架构设计与实战~思维导图
  6. ElasticSearch前缀匹配查询和范围查询(中文检索)
  7. oracle rac启动关闭,Oracle RAC启动及关闭步骤
  8. python判断天数_python判断输入日期是该年的第几天
  9. 计算机考试可以带首饰吗,高考时不许考生戴框架眼镜?“无声考场”有新规,考生别忽视...
  10. 为什么国内的网盘公司都在 TB 的级别上竞争,成本会不会太高?
  11. 两端“弱智”的HTML代码
  12. Centos7 64位镜像下载
  13. 如何书写IT行业的个人简历
  14. Jetson Nano | DeepStream部署Yolov5(Pytorch模型-->wts 文件-->TensorRT模型)
  15. C语言求金蝉素数,回文数 - 寂寞暴走伤的个人空间 - OSCHINA - 中文开源技术交流社区...
  16. CTF-Crypto学习1(软件加壳、反汇编、Babe64、Rijndael密码算法)
  17. 外贸网络营销搜索引擎和B2B模式比较
  18. 感谢谦哥的家族为中国相声事业做出了贡献。
  19. mysql left_mysql的left函数
  20. Python中几个冷门但非常好用的内置函数

热门文章

  1. 二手房简约改造 90平开阔舒适之家
  2. 【调剂】上海海事大学-环境工程专业-环境遥感方向 招收计算机,管理,遥感等相关专业调剂生...
  3. IOS 图片转换二进制 二进制转换为图片
  4. 无法启动计算机上的服务sqlserver,无法启动SqlServer服务器了怎么办?
  5. 无过错验尸报告 - Blameless Postmortem
  6. 用微信小程序开发一个计算器
  7. gdc服务器无信号接入,电脑显示屏无法接入信号的解决方法
  8. PPT出现“抱歉,出现问题,可能导致PowerPoint不稳定。请保存您的演示文稿,然后重启PowerPoint。”
  9. 哪款降噪耳机音质好?音质好的国产降噪蓝牙耳机推荐
  10. 【文末福利】我用英飞凌的PSoC™ 62搞了点智能家居的创意