PHP 缓存技术

PHP 缓存专题:https://blog.csdn.net/hualaoshuan/category_9026032.html

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) 缓存、队列 日志、区域信息、评论

你可能感兴趣的:(缓存技术)