2009-11-25 51 views
0

我们的ORM与缓存很好地结合,所以我们所有的对象都被缓存了。目前,我们在插入/更新/删除我们的对象之前和之后使我们的对象无效。你有什么经验?什么是使ORM缓存无效的最佳策略?

+0

这个问题没有提到你正在使用什么ORM,缓存是什么(一个对象缓存?)。你需要详细说明。 – 2009-11-25 21:46:59

+0

我使用的是memcached,我们有一个自定义的ORM映射器,它缓存每一个在memcached中使用ClassName_objects_primary_key。 – user68575 2009-11-25 22:42:57

回答

0

为什么之前和之后我/ u/d?

如果您不想直接更新缓存,则假设您在每次缓存未命中时将缓存中的内容加载到缓存中,这足以使i/u/d后的对象无效。如果你的对象空间足够大,你的缓存可能会占用太多的内存,那么你也需要一些到期机制(X分钟后或X分钟后无效)。

或者你可以去LRU(最近最少使用),但如果你的ORM本身不支持它,你自己就不容易实现。

相关问题