首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cachemanager.contains vs cachemanager.getdata

cachemanager.contains vs cachemanager.getdata
EN

Stack Overflow用户
提问于 2012-06-28 13:18:29
回答 2查看 536关注 0票数 0

在这种情况下,我需要检查数据是否存在于缓存中,如果存在,则需要检索它或将其添加到缓存中。

我有两个选择。一个是我可以首先调用CacheManager.Contains(key),如果它在那里,我就调用CacheManager.GetData(key),或者我可以直接调用CacheManeger.GetData(key)并检查它是否为空值。我不确定哪一个更好。在第一种方法中,这似乎是一种很好的做法,但我为同一件事进行了两次调用。而在第二种方法中,我直接从缓存中检索数据,而不进行检查。

这里的问题是,哪一个是更好的实践,哪一个会提供更好的性能?如果你能提供一点关于两者工作的见解,那么这将是非常有帮助的。

谢谢:)

EN

回答 2

Stack Overflow用户

发布于 2012-06-28 15:03:13

这听起来像是过早的优化。我非常怀疑性能差异是否会令人担忧。

我个人倾向于首先检查Contains,如果值在那里,则检索它,因为我认为这更清楚地描述了您正在做什么(对于维护您的代码的人类读者)。

票数 2
EN

Stack Overflow用户

发布于 2012-06-28 13:32:07

这两种情况没有太大区别。但第一个选项消耗的时间要多一点,因为与第二个one.Second选项相比,性能要好得多,无论缓存有没有数据,它都会检索数据。然后检查它是否为Null。这将消耗更少的时间。

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

https://stackoverflow.com/questions/11238461

复制
相关文章

相似问题

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