我刚刚安装了memcached
并尝试了一些在php.net上找到的示例代码
但由于我是这方面的新手,我没有使用它的优势,我可以在会话或cookie中存储相同的数据..
例如我运行一个房地产网站,用户对mysql和许多ajax查询进行了大量搜索/查询
据我所知,我可以查询这些查询...但是如果结果因为有人发布新广告而发生变化会怎样? memcached怎么知道呢?
所以,问题是,为什么我应该使用它并在哪些场合?
谢谢!
答案 0 :(得分:3)
您必须知道要缓存的内容和不缓存的内容。举个例子,假设您的网站变得疯狂,并且您拥有1亿个房地产列表。您有数百万用户在进行搜索并查看详细信息。这是很多疑问!
输入Memcached,如果您(例如)通过保存该查询的结果来缓存Memcached中的详细列表视图,则会减少加载量。这是因为,除了第一次服务器查询MySQL之外,其他所有命中都在Memcached上。
您可以做的另一件事是通过将搜索查询哈希存储为密钥来保存搜索结果。根据您拥有的内存量,这将再次降低负载,因为Memcached只是提供缓存页面。
由您自行决定保留缓存的时间长度以及失效方案的运行方式(可能在添加新属性时清除密钥,或者每天只更新一次)。