Yac是鸟哥为php开发的一个缓存user data的扩展
是基于如下几点经验假设设计的:
- 对于一个应用来说, 同名的Cache键, 对应的Value, 大小几乎相当.
- 不同的键名的个数是有限的.
- Cache的读的次数, 远远大于写的次数.
- Cache不是数据库, 即使Cache失效也不会带来致命错误。
特点:
- 无锁共享内存:无读锁,取出数据后进行数据校验,校验规则是“对key中存储的固定size的值进行了CRC的计算,然后把key中附带存储的crc信息和内容计算出来的crc信息进行校验”,这实际上是以CPU来换锁的方式。
- php多进程共享内存
- 数据存储在本地内存,不像memcache、redis需要连接存储到远程