TryGetValue()和GetorCreate()之间的区别?

时间:2018-06-08 15:56:40

标签: asp.net angularjs asp.net-mvc-4 caching

我正在使用ASP.NET MVC和Angular创建一个Web应用程序。要缓存主仪表板的结果,我正在使用内置的IMemoryCache。

我正在使用GetorCreate作为其Async版本,但TryGetValue()和GetorCreate()之间的真正区别是什么?难道他们都不会尝试从缓存中获取值,但如果不是,我们可以做到吗?

1 个答案:

答案 0 :(得分:0)

也许将来对某人有用。

GetOrCreate():通过使用cache.GetOrCreate(),您可以检查所传递的密钥是否存在以及是否不存在。 将创建新的缓存键值。

cache.GetOrCreate()<string>(“username”, entry => { return “admin”; });

TryGetValue()::通过使用cache.TryGetValue(),我们可以检查密钥是否存在。这里主要的区别是 cache.GetOrCreate()和cache.TryGetValue()方法是TryGet() 方法将仅检查密钥是否存在,而 GetOrCreate()方法将缓存密钥是否存在以及是否 它不存在,然后可以创建一个新的。

cache.TryGetValue()<string>(“username”, out string username);

但是两种方法之间没有太多差异

链接: https://www.itpathsolutions.com/know-about-in-memory-caching-asp-net-core/ https://docs.microsoft.com/en-US/aspnet/core/performance/caching/memory?view=aspnetcore-3.1#cache-guidelines