PHP APC要缓存还是不缓存?

前端之家收集整理的这篇文章主要介绍了PHP APC要缓存还是不缓存?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我根本没有任何缓存经验,所以这看起来像是一个愚蠢的问题,但你怎么知道何时缓存你的数据?我甚至找不到一个谈论这个的网站,但它可能只是我的搜索技巧或者可能需要考虑的太多变量?

我很可能会使用APC.有没有人有任何关于缓存它所需的最少数据量的例子?例如,假设您有一个包含100个项目的数组,并且您在其上使用foreach循环并执行一些简单的数组操作,是否应该缓存结果?如果它有1000件物品,10000件物品等怎么样?

你应该缓存数据库查询的结果吗?你应该缓存什么样的查询?我假设一个简单的选择,也许一对mysql数据库的连接语句不需要缓存,或者它呢?假设启用了mySQL查询缓存,这是否意味着您不需要在应用程序层中缓存,或者您是否还应该这样做?

如果你实例化一个对象,你应该缓存它吗?如何确定是否应该缓存?因此,关于缓存内容的一般指南会很好,示例也非常有用,谢谢.

当您查看从APC / memcache / WinCache / redis / etc中的数据库中读取的缓存数据时,您应该知道在更新数据库时它不会更新,除非您明确编写代码以保留数据库和缓存同步.因此,当来自数据库的数据不经常更改时,缓存最有效,但是还需要更复杂和/或更昂贵的查询来从数据库中检索该数据(否则,您也可以在数据库中从数据库中读取它需要它)…如此昂贵的连接查询,无论何时运行都返回相同的数据记录是主要候选者.
并始终测试以查看从数据库读取查询是否比从缓存更快.正确的数据库索引可以极大地改善数据库访问时间,尤其是大多数数据库也维护自己的内部缓存,因此除非数据库开销合理,否则不要使用APC或等效的缓存数据.

您还需要了解缓存中的空间使用情况.大多数缓存都是固定大小的,您不希望它们溢出…所以不要使用它们来存储大量数据.使用APC提供的apc.PHP脚本来监控缓存使用情况(尽管确保访问您网站的任何人和所有人都无法公开访问它……安全性不佳).

当在缓存中保存对象时,对象将在存储时被序列化(),并在被检索时被反序列化(),因此存在开销.具有资源属性的对象将丢失该资源;所以不要存储数据库访问对象.

仅使用缓存来存储由许多/所有用户访问的信息而不是用户特定数据是明智的.对于用户会话信息,请坚持使用普通的PHP会话.

原文链接:https://www.f2er.com/php/137516.html

猜你在找的PHP相关文章