中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

执行结果缓存

原理

对于相同的输入,应用软件经过计算后,有相同的输出,可以将运算结果保存,在下次有相同的输入时,返回上次执行的结果。

修改方式

目前部分开源软件已经实现这种机制,举例如下:

  1. Nginx缓冲

    基于局部性原理,Nginx使用proxy_cache_path等参数将请求过的内容在本地内存建立一个副本,这样对于缓存中的文件不用去后端服务器取。

  2. JIT编译

    JIT(Just-In-Time)编译,将输入文件转为机器码。为了提升效率,转换后的机器码被缓存在内存,这样相同的输入(如JAVA程序的字节码)不用重新翻译,直接返回缓存中的内容。如果发现JAVA虚拟机的C1 Compiler/C2 Compiler线程的CPU占用比较多,可能是JIT缓冲不够,可以增加JAVA虚拟机ReservedCodeCacheSize参数。

  3. MySQL查询缓冲

    MySQL的SQL语句缓存在内存中保存查询返回的结果。当查询命中时,直接返回解析后的SQL,跳过了查询操作的解析,优化和执行阶段。如果缓存的表被修改了,对应表的缓存就会失效。

    MySQL查询缓冲状态可以通过如下语句查询:

    show status like ‘%Qcache%’;

    MySQL可以通过query_cache_size和query_cache_type来设置查询缓存的属性。

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词