加快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或您只想更改它,则需要运行以下命令,记住该值以字节为单位。例如,如果您想将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应用程序的速度,尤其是在应用程序主要读取数据的情况下。使用上述方法监视状态,并查看其随时间的变化情况。
...。它以键值格式存储数据。为了与数据库通信,用户应该使用命令。命令是使用Redis命令行界面(CLI)发出的。例如,department=“IT”。在这里,部门是关键,“它”就是价值。用户可以使用命令“SET”将数据写入Redis数据存储。e...
...据库连接),作为JavaSDK(软件开发工具包)的一部分。使用这个API,很容易连接到关系数据库,并执行查询、**、更新和删除记录等常见操作。 ...
...通常被称为“互联网的电话簿”,它是负责连接我们每天使用的域名的技术。makeuseof.com网站)使用该站点web服务器的IP地址。 ...
...;这些数字串在internet上充当设备的“家庭地址”。我们使用url是因为对我们来说,记住一个站点的名称比记住它的IP地址要容易得多。 ...
...指向的域。我们会教你怎么做! dig命令的工作原理 人们使用Linux dig命令来查询域名系统(DNS)服务器。dig是域名信息搜寻者的缩写。使用dig,您可以查询有关各种DNS记录的信息,包括主机地址、邮件交换、名称服务器和相关信...
...现的同步魔法的核心是一个MySQL数据库。如果你以前从未使用过,不要惊慌!它确实需要一点技术诀窍,但我们在这里指导您的每一步。如果你紧跟其后,就不会有任何问题。 我们要做的是安装一个免费版本的MySQL服务器,然后...
...管理器配置为显示隐藏的文件。 检查dns缓存 您的计算机使用DNS服务器将主机名解析为IP地址,这些查询临时存储在您的DNS缓存中。清除浏览器历史记录时,不会触及DNS缓存。 要查看系统的缓存网站查找列表,请执行以下操作: ...
...安装WordPress吗?我们已经介绍了如何在个人博客或网站上使用WordPress,下面是如何在自己的网站上手动安装WordPress软件。 请注意:手动安装WordPress有点复杂,所以如果您的网站托管提供商提供安装程序脚本,我们建议您使用安...