缓存 – 缓存数据库结果 – 需要轻推如何启动

前端之家收集整理的这篇文章主要介绍了缓存 – 缓存数据库结果 – 需要轻推如何启动前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个项目,其中一个要求是缓存什么是基本上只读的数据,以减轻数据库的压力.关于缓存如何与db一起工作,我有点困惑.

缓存如何工作?我见过一些叫做查询缓存的东西,但这会缓存查询结果吗?或者只是查询?并不是一种视图缓存形式?

我只是想朝着正确的方向努力.该项目将使用MySQL 5.1作为商店,因此任何可以消除我的困惑的链接将是一个很大的帮助.一般的谷歌搜索只提供了查询缓存,由于我在这方面缺乏知识,我不确定这是否是我应该去的方向.

解决方法

The MySQL query cache确实缓存了查询的结果,只要后续查询完全相同,就会提供计算结果而不是实际运行查询. MysqL也会跳过计算执行计划.

要使用它,您可以在服务器的my.cnf中使用turn it on,或者在查询前使用SQL_CACHE提示.如果你在my.cnf中打开它,你可以告诉MysqL不要在查询前使用sql_NO_CACHE来缓存结果.

对表的任何写入(INSERT,UPDATE,DELETE等)都将使来自该表的查询缓存中的所有条目无效.

查询缓存有一个性能异常:它使用低效的算法来查找缓存中的条目,所以creating a larger cache can result in worse performance.您应该尝试使用自己的数据和查询@R_502_382@进行更改,但上次我做这个实验时发现大约256MB是甜蜜点.比这更大或更小,性能变差.手册建议“Tens of megabytes

您还可以使用类似memcached方法MysqL之外实现缓存.这对应用程序来说是不透明的,因此您必须在应用程序中添加额外的代码来处理对memcached的查找,然后,如果您错过了,则执行在数据库中查找并将结果存储在memcached中.

猜你在找的MsSQL相关文章