环境:
Memcached,Rails 2.2.2 + cache_money,Sphinx +思考狮身人面像
以下结果将产生陈旧的结果: - 添加记录; mysql包含正确的数据 - 此时记录可能缓存在内存中 - 重新索引狮身人面像 - sphinx使用正确的数据返回正确的结果 - 编辑记录 - 缓存无效,mysql包含正确的更新数据 - 重新索引狮身人面像 - 斯芬克斯现在陈旧了
重新索引狮身人面像,清除memcached和/或编辑可疑记录都无效。 一起禁用缓存层(cache_money加memcached)也没有任何效果。
Environment:
Memcached, Rails 2.2.2 + cache_money, Sphinx + thinking sphinx
The following yields stale results: - add a record; mysql contains the correct data - the record is probably cached in memory at this point - re-index sphinx - sphinx returns the proper result with the correct data - edit the record - the cache is invalidated properly, mysql contains the correct, updated data - re-index sphinx again - sphinx is now stale
Re-indexing sphinx, clearing memcached, and/or editing the questionable records all have no effect. Disabling the cache layer all together (cache_money plus memcached) also has no effect.
最满意答案
您的delta查询是从表中获取新的,未编入索引的行,还是在修改时间大于指定值的情况下抓取每一行?
Does your delta query just get new, unindexed rows from your table(s), or is it grabbing every row with a modified time greater than a specified value?
更多推荐
发布评论