Yac 2.1 升级说明

栏目: IT技术 · 发布时间: 4年前

内容简介:Yac (Yet Another cache)也是之前在微博的时候开发的一个PHP的本机缓存,用来替代当时微博在PHP机器上装的本地Memcache, 因为当时的需求特点,最初做了完全无锁的设计,但是这样有一个隐患就是用户有可能获得“错误”的数据,虽然之前的测试概率非常非常低。 关于Yac的设计,可以参考我7年前写的作为我的Ya全家桶的重要一员, 在我优化完一轮Yaf, Yar, Yaconf以后,Yac当然也不能少了。2.1.0主要做了如下的优化:

Yac (Yet Another cache)也是之前在微博的时候开发的一个 PHP 的本机缓存,用来替代当时微博在PHP机器上装的本地Memcache, 因为当时的需求特点,最初做了完全无锁的设计,但是这样有一个隐患就是用户有可能获得“错误”的数据,虽然之前的测试概率非常非常低。 关于Yac的设计,可以参考我7年前写的 Yac (Yet Another Cache) - 无锁共享内存Cache

作为我的Ya全家桶的重要一员, 在我优化完一轮Yaf, Yar, Yaconf以后,Yac当然也不能少了。

2.1.0主要做了如下的优化:

  • 使用cas原子操作,保护对key的读写,在Yac中,为了避免冲突,key中包含了很多信息,包括最重要的对内容的crc校验,这次升级采用了cas原子操作, 在保证lock-free的情况下,对key的读写做了保护,从而可以大幅降低冲突的概率。去掉错误数据的可能。
  • 使用SSE4.2的内建crc32指令,取代原来的crc32,这样Yac中大量调用的crc32来验证数据正确性的性能有非常明显的性能提升。
  • 一些内存优化,降低内存占用

经过这次全新的升级,Yac的稳定性会得到很大的提升,可以用来在PHP中做一些跨PHP进程的内容交换和Cache。

Yac 2.1 已经发布: Yac At PECL

使用文档以及使用中有任何问题,来Github: Yac At Github

enjoy!


以上所述就是小编给大家介绍的《Yac 2.1 升级说明》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

CSS3 For Web Designers

CSS3 For Web Designers

Dan Cederholm / Happy Cog / 2010-11 / $18

From advanced selectors to generated content to the triumphant return of web fonts, and from gradients, shadows, and rounded corners to full-blown animations, CSS3 is a universe of creative possibilit......一起来看看 《CSS3 For Web Designers》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具