首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PlayOrm中的缓存

PlayOrm中的缓存
EN

Stack Overflow用户
提问于 2012-11-09 15:08:17
回答 1查看 51关注 0票数 1

我想知道更多关于缓存在playorm中是如何工作的。任何指针都会很棒。另外: 1.如果有任何可用的性能数据来验证Playorm中的缓存。2.是否需要配置/设置?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-09 21:33:23

playorm中的缓存很像hibernate中的缓存。实际上有两个缓存在运行,这两个缓存可以称为写缓存和读缓存。

写缓存就是像你做put(对象实体),put(对象实体)等等一样,它在一个叫做NoSqlWriteCacheImpl的类中缓存这些put。当您调用flush时,此缓存将被清空并清除。如果不刷新缓存,则无法清除该缓存。调用clear不会清除这个缓存,只有调用flush才会,所以如果你不想写什么,就不要做put。此缓存是按NoSqlEntityManager计算的。

则读缓存位于名为NoSqlReadCacheImpl的类中。这个缓存就像hibernate的一级缓存,并且是按NoSqlEntityManager的,就像hibernate。当你读入内容时,它会经过这一层并被缓存,当你再次读入该内容时,它会从缓存中读取,而不是进入nosql数据库。一个很好的例子是,你得到一个t恤,然后得到它的用户(比如bob),然后你得到另一个对象,得到它的用户,恰好是Bob....this,这会导致缓存命中,并且在他们查询东西时发生的频率比人们预期的要高。注意:在运行任何NoSqlQuery时都完全避免了NoSqlReadCache!它仅用于find(Class c,List key)和find(Class c,Object key)方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13303665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档