服务器应用程序程序缓存
服务器应用程序程序缓存 Web Server 服务器之 Apache
- Apache 的过期模块 mod_expires.so
# 启用 expires_module 模块
LoadModule expires_module modules/mod_expires.so# 启用有效期控制
ExpiresActive On# GIF 有效期为 1 个月,2592000 秒为 1 个月
ExpiresByType image/gif A2592000# HTML 文档的有效期是最后修改时刻后的一星期
ExpiresByType text/html M604800# 以下的含义类似
ExpiresByType text/css "now plus 2 months"
ExpiresByType image/jpeg "access plus 2 months"
详细解释
ExpiresByType image/jpeg "access plus 2 months"
的含义为: ExpiresByType
表示为:由 mime 决定过期配置 image/jpeg
表示为:具体文件的 mime 类型 access
表示:过期时间从访问时开始计算,等同于 now
和 A
参数,还可以设置为 modification
或者 M
参数,表示为,被访问文件的最后修改时间开始计算。 months
表示月份,可用的参数有:years
、months
、 weeks
、 days
、hours
、 minutes
、 seconds
- Apache 的缓存模块 mod_cache
- mod_cache: 基于 uri 键的内容动态缓冲模块,缓存响应头和正文,以便在下一个请求时快速相应它。
- mod_disk_cache (Apache2.2) / mod_cache_disk (Apache2.4) 基于磁盘的缓冲模块
- mod_mem_cache.so (Apache2.2) 基于内存的缓冲模块,2.4 版本已经移除
- mod_file_cache 提供文件描述符缓存支持,加快与缓慢的文件系统服务器的文件访问,只能应用于静态文件。
- Opcache 是一种通过将解析的 php 脚本预编译的字节码存放在共享内存中来避免每次加载和解析 php 脚本的开销。
- 解析器可以直接从共享内存读取已经缓存的字节码,从而大大提高 php 的执行效率。
- APC 是缓存、优化 php 中间代码的架构,可以缓存 Opcodes。
- php5.5 以后,Zend Opcache 整合到 php 中,并可代替 APC 使用。此功能默认关闭。
- 访问 phpinfo(); 页面,查看 Loaded Configuration File => /etc/php/7.0/fpm/php.ini (php 配置文件 php.ini 所在的文件路径) 和 Scan this dir for additional .ini files => /etc/php/7.0/fpm/conf.d (扩展配置文件的目录)
- 查看 zend_extension=opcache.so 是否开启:vim /etc/php/7.0/fpm/conf.d/10-opcache.ini (默认是开启的)
![服务器应用程序程序缓存](https://img.it610.com/image/info9/d530960e48594b27a6d94351057e6a0c.jpg)
文章图片
- 查看 lexing
mysql 查询缓存
![服务器应用程序程序缓存](https://img.it610.com/image/info9/355b9ce9c76345a7bfa7771af3b718da.jpg)
文章图片
【服务器应用程序程序缓存】查询缓存相关有两个参数设置:
- query_cache_size 查询缓存大小,默认为 16M
- query_cache_type 有三个可用值,0 表示不使用查询缓存,1 表示缓存所有的结果,2 表示在 select 语句中使用了 sql cache 指定缓存查询的结果进行缓存,没有指定则不缓存。
- 进入主配置文件中查看 sudo vim /etc/mysql/my.cnf
- 进入配置文件 sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
query_cache_size = 16M// 默认查询缓存为 16M
query_cache_type = 1// 开启查询缓存,默认是没有开启的,需要手动添加这一行
- 重启 mysql 服务器 sudo service mysql restart
- 进入数据库 mysql -u root -p
- 查看缓存是否开启 show variables like "%query_cache%";
- 查询缓存是否正常运行了 show status like "%Qcache%";
原理:
创建表结构使用 ENGINE = MEMORY 生成内存表,表结构存在磁盘上的
.frm
文件中,服务器启动后,用此结构在内存中创建空白表,并默认使用哈希索引。
优点:- 速度比 MyISAM 和 Innodb 存储引擎更快,适合做热点表的前置缓存。
- sql 操作与存储引擎一致。
- varchar 这样的可变长度类型将转换为固定长度
- mysql 4.1.0 之前,不支持 auto_increment 自增列
- 不能包含 blob 或 text 列
- 重启数据丢失,如果有备份,会导致数据与备份不一致
- 内存表数据大于 max_heap_table_size 设定值,超出数据会存储到磁盘上
- 高负载时扩展性和混合写操作的并发处理性能不佳
原文地址
推荐阅读
- 基于微信小程序带后端ssm接口小区物业管理平台设计
- 事件处理程序
- 探索免费开源服务器tomcat的魅力
- 编写字典程序
- [源码解析]|[源码解析] NVIDIA HugeCTR,GPU版本参数服务器---(3)
- Java程序员阅读源码的小技巧,原来大牛都是这样读的,赶紧看看!
- 小程序有哪些低成本获客手段——案例解析
- 程序员|【高级Java架构师系统学习】毕业一年萌新的Java大厂面经,最新整理
- 微信小程序基础知识
- VueX(Vuex|VueX(Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式)