![]() |
1
20
Memcached对于简单的使用来说会更快、更省力——Memcached上的连接设置要便宜得多,因为它没有身份验证、缓冲区分配等功能。此外,Memcached还设计为在多个服务器之间轻松地分配密钥。 但是,memcached只是一个简单的键/值存储。如果您需要对数据执行更复杂的操作(甚至是像select*where x>5这样的操作),堆表的功能就更强大了。 不过,罗伯特·蒙蒂努提出了一个很好的观点。缓存层次结构应为:
如果您不需要将全局更改传播到此数据,那么将其存储在APC中是有意义的。如果在脚本执行期间需要多次访问它,那么还应该将其缓存在脚本的全局中。 |
![]() |
2
2
最快的选择是在本地系统上进行内存缓存。这不会很好地扩展到数百万的关系,但是 非常 速度快,适用于小型数据集。 我没有在memcached/mysql堆之间进行性能测试,但我想memcached会更快,因为它没有完整的关系数据库引擎的开销。memcached几乎可以更好地扩展,因为您可以在服务器之间分发它,并在服务器之间进行循环请求分派。 如果在检索数据之前需要对其进行任何过滤,那么应该使用MySQL。传输不需要的数据的性能开销可能会超过更快查找的好处。 如果我是你,我会将有问题的数据集加载到MySQL中。 和 memcached,然后运行性能测试以查看哪个对数据集更好。如果有一个特别经常访问的核心数据,那么考虑一个额外的机器本地缓存。 |
![]() |
3
1
如果数量不多,就把它存储在你自己的过程中。那是最快的。 |
![]() |
Xceptions · Google云正在缓存我的静态文件 7 年前 |
![]() |
Thread7 · memcache出错 7 年前 |
![]() |
Nick M · Rails/Dalli:从另一个命名空间终止片段 7 年前 |
![]() |
ctor · 有限时间存储数据:memcache与mysql 7 年前 |