shmop / PHP 共享内存有多可靠?
Posted
技术标签:
【中文标题】shmop / PHP 共享内存有多可靠?【英文标题】:How reliable is shmop / PHP shared memory? 【发布时间】:2014-02-21 10:32:53 【问题描述】:我有一些无法进一步优化的性能繁重的 SQL 查询。由于这些查询在 99% 的情况下提供相同的结果,因此我想实现一些缓存。
我发现 shmop / php 共享内存是几乎所有网络服务器上唯一可用的功能。 memcache、APC ... 通常不可用,尤其是在共享托管服务器上。
它通常工作得很好并且显着减少了负载。我知道一般的共享内存安全问题(每个人都可以读取数据),但无论如何我不会将它用于敏感信息,我将在顶部使用 mcrypt_decrypt。
但是,从长远来看,它在不同的网络服务器上运行的可靠性如何? 可以推荐用于一般用途吗? 是否有人在使用 shmop 时产生了负面影响,尤其是在 Windows 服务器上?
非常感谢。
【问题讨论】:
【参考方案1】:我想你回答了你自己的问题。通常,数据是共享的,因此不安全。数据也可能随时丢失,因此不可靠,再次根据定义。
如果您希望以 99% 的相同结果改进 SQL,请记住 mysql 也有一个查询缓存,因此缓存已经为您工作,假设您已正确配置它。
如果你想在你的应用中做缓存,看看 Redis,特别是作为一个支持标记的 zend_cache 后端,允许你标记缓存的值并使用标记刷新。
【讨论】:
以上是关于shmop / PHP 共享内存有多可靠?的主要内容,如果未能解决你的问题,请参考以下文章