使用mysql查询缓存加速您的网站

加快web应用程序速度的最佳方法之一是在数据库中启用查询缓存,它将常用的SQL查询缓存在内存中,以便下一个发出相同请求的页面可以即时访问。...

加快web应用程序速度的最佳方法之一是在数据库中启用查询缓存,它将常用的SQL查询缓存在内存中,以便下一个发出相同请求的页面可以即时访问。

这种方法之所以如此强大,是因为您不必对web应用程序进行任何更改,只需牺牲一点内存即可。这不会解决你所有的问题,但绝对不会有什么坏处。

注意:如果您的应用程序经常更新表,那么查询缓存将不断被清除,您将不会从中获得太多或任何好处。这对于主要对数据库进行读取的应用程序来说非常理想,例如WordPress博客。如果你是在共享主机上运行,这也不会起作用。

在服务器运行时启用缓存

您首先要做的是确保您安装的MySQL实际上具有查询缓存支持。大多数发行版都是这样的,但您还是应该检查一下。

您需要从MySQL控制台运行这个命令,它将告诉您查询缓存是否可用。

mysql> show variables like 'have_query_cache'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | have_query_cache | YES | +------------------+-------+

不要误认为这意味着查询缓存实际上已启用,因为大多数宿主提供程序在默认情况下都不会启用此功能。奇怪的是,我的Ubuntu festity安装已经启用了它…

接下来,我们需要检查是否启用了查询缓存。我们需要检查多个变量,所以我们可以通过检查变量查询来一次检查所有变量

mysql> show variables like 'query%'; +------------------------------+---------+ | Variable_name | Value | +------------------------------+---------+ | query_alloc_block_size | 8192 | | query_cache_limit | 1048576 | | query_cache_min_res_unit | 4096 | | query_cache_size | 8388608 | | query_cache_type | ON | | query_cache_wlock_invalidate | OFF | | query_prealloc_size | 8192 | +------------------------------+---------+

以下是列表中的重要项目及其含义:

  • query\u cache\u size–这是缓存的大小(以字节为单位)。将此值设置为0将有效地禁用缓存。
  • query\u cache\u type–此值必须为ON或1,以便默认启用查询缓存。
  • query\u cache\u limit–这是将缓存的最大查询大小(以字节为单位)。

如果query\u cache\u size值设置为0或您只想更改它,则需要运行以下命令,记住该值以字节为单位。例如,如果您想将8MB分配给缓存,我们将使用1024*1024*8=8388608作为值。

SET GLOBAL query_cache_size = 8388608;

类似地,可以使用相同的语法设置其他选项:

SET GLOBAL query_cache_limit = 1048576; SET GLOBAL query_cache_type = 1;

现在我们如何判断它是否真的起作用了?您可以使用showstatus命令拉取以“Qc”开头的所有变量,以查看引擎盖下发生的事情。

mysql> SHOW STATUS LIKE 'Qc%'; +-------------------------+--------+ | Variable_name | Value | +-------------------------+--------+ | Qcache_free_blocks | 65 | | Qcache_free_memory | 201440 | | Qcache_hits | 18868 | | Qcache_inserts | 2940 | | Qcache_lowmem_prunes | 665 | | Qcache_not_cached | 246 | | Qcache_queries_in_cache | 492 | | Qcache_total_blocks | 1430 | +-------------------------+--------+ 8 rows in set (0.00 sec)

你会注意到在统计中,我有足够的空闲内存。如果您的服务器显示了大量lowmem剪枝,您可能需要考虑增加这个值,但是我不会在web服务器的查询缓存上花费太多内存…您需要为apache、php、ruby或您正在使用的任何东西保留可用内存。

在配置文件中启用

如果您想让这些更改在mysql服务器重新启动或重启后继续存在,您需要将它们添加到/etc/mysql中/我的.cnfMySQL的配置文件。请注意,它可能位于安装时的其他位置。

在sudo或root模式下使用文本编辑器打开文件,如果文件中不存在这些值,则添加这些值。如果它们确实存在,只需取消注释即可。

query_cache_size = 268435456 query_cache_type=1 query_cache_limit=1048576

查询缓存可以显著提高web应用程序的速度,尤其是在应用程序主要读取数据的情况下。使用上述方法监视状态,并查看其随时间的变化情况。

  • 发表于 2021-04-14 12:38
  • 阅读 ( 78 )
  • 分类:互联网

你可能感兴趣的文章

内存缓存(memcached)和雷迪斯(redis)的区别

...。它以键值格式存储数据。为了与数据库通信,用户应该使用命令。命令是使用Redis命令行界面(CLI)发出的。例如,department=“IT”。在这里,部门是关键,“它”就是价值。用户可以使用命令“SET”将数据写入Redis数据存储。e...

  • 发布于 2020-10-19 23:25
  • 阅读 ( 156 )

如何用java连接mysql数据库

...据库连接),作为JavaSDK(软件开发工具包)的一部分。使用这个API,很容易连接到关系数据库,并执行查询、**、更新和删除记录等常见操作。 ...

  • 发布于 2021-03-11 17:39
  • 阅读 ( 342 )

cloudflare dns如何帮助解决4大dns隐私风险

...通常被称为“互联网的电话簿”,它是负责连接我们每天使用的域名的技术。makeuseof.com网站)使用该站点web服务器的IP地址。 ...

  • 发布于 2021-03-20 09:08
  • 阅读 ( 280 )

什么是dns缓存中毒?dns欺骗如何劫持你

...;这些数字串在internet上充当设备的“家庭地址”。我们使用url是因为对我们来说,记住一个站点的名称比记住它的IP地址要容易得多。 ...

  • 发布于 2021-03-21 18:02
  • 阅读 ( 207 )

如何用这些简单的补丁加速你的浏览

... 1使用快速最小浏览器 ...

  • 发布于 2021-03-28 08:00
  • 阅读 ( 208 )

为下一个项目考虑6个数据库引擎

...引擎,包括它们的优缺点,并做出明智的决定,在项目中使用哪种引擎。 ...

  • 发布于 2021-03-28 09:56
  • 阅读 ( 265 )

如何在linux上使用dig命令

...指向的域。我们会教你怎么做! dig命令的工作原理 人们使用Linux dig命令来查询域名系统(DNS)服务器。dig是域名信息搜寻者的缩写。使用dig,您可以查询有关各种DNS记录的信息,包括主机地址、邮件交换、名称服务器和相关信...

  • 发布于 2021-04-02 10:09
  • 阅读 ( 212 )

如何使用mysql跨多个设备同步kodi库

...现的同步魔法的核心是一个MySQL数据库。如果你以前从未使用过,不要惊慌!它确实需要一点技术诀窍,但我们在这里指导您的每一步。如果你紧跟其后,就不会有任何问题。 我们要做的是安装一个免费版本的MySQL服务器,然后...

  • 发布于 2021-04-07 04:56
  • 阅读 ( 440 )

清除浏览器历史记录真的会删除它吗?

...管理器配置为显示隐藏的文件。 检查dns缓存 您的计算机使用DNS服务器将主机名解析为IP地址,这些查询临时存储在您的DNS缓存中。清除浏览器历史记录时,不会触及DNS缓存。 要查看系统的缓存网站查找列表,请执行以下操作: ...

  • 发布于 2021-04-09 04:02
  • 阅读 ( 198 )

使用cpanel向导在您的网站上手动安装wordpress

...安装WordPress吗?我们已经介绍了如何在个人博客或网站上使用WordPress,下面是如何在自己的网站上手动安装WordPress软件。 请注意:手动安装WordPress有点复杂,所以如果您的网站托管提供商提供安装程序脚本,我们建议您使用安...

  • 发布于 2021-04-13 13:32
  • 阅读 ( 157 )
雾雨执
雾雨执

0 篇文章

相关推荐