PHP 缓存介绍
什么是缓存
- 数据交换的缓冲区(称作Cache)
- 临时文件交换区
缓存作用
- 减少网络延迟,加快页面打开速度
- 减少数据查询次数,降低数据库压力
- 降低系统负荷,极大的提升系统性能
常用缓存类型
文件缓存:使用 PHP 文件操作函数,把数据缓存到服务器磁盘文件中
内存缓存:Redis、Memcached、MongoDB
Opcode缓存:PHP 是一种解释型脚本语言,在 PHP 执行过程中,虚拟机会把 PHP 代码翻译成中间语言,这种中间语言就叫 Opcode,然后虚拟机再把 Opcode 顺序执行。把 PHP 代码对应的 Opcode缓存到内存中,加速 PHP 执行,减少了代码翻译成中间语言这一步操作。
以上三种缓存对比
文件缓存 | 内存缓存 | Opcode缓存 | |
---|---|---|---|
存储介质 | 磁盘文件 | 内存 | 内存 |
不足 | IO操作慢、文件锁的存在 | 占内存、不持久 | 部署代码刷新慢 |
应用举例 | 新闻数据、城市区域 | 会员、商品、Session | OpcodeCache(代码加速) |
PHP 常用内存缓存介绍
介绍
PHP是一种脚本语言,脚本执行结束之后,所有的变量全部释放掉,本身没有能力将数据常驻内存。
PHP借助于内存服务器将缓存数据储存在服务器内存。
优点:读写速度快、跨服务器存储(例如在做多服务器集群的时候,可以将 Session 存储于内存缓存服务器中)、易于解决主从同步问题,并发问题。
不足:占用了内存空间、缓存数据有大小限制、数据不易持久化存储。(但是内存缓存带给我们的方便足够可以忽略他的不足)
常用内存缓存:Memcached、Redis、MongoDB
区别
Memcached Redis MongoDB
储存数据类型 string string, list, hash, set bson 丰富查询方式
数据储存位置 内存 内存 + 硬盘 内存 + 硬盘
持久化 最长30天 RDB 文件快照,AOF(记录写操作)持久化 journal持久化
使用场景 Session 商品缓存(缓存 < 1MB) 缓存、队列 日志、区域信息、评论
来源:https://blog.csdn.net/hualaoshuan/article/details/91044797