|
|
1
104
基本模式如下:
在代码中,如下所示:
|
|
|
2
28
为了完整性起见,完整的示例如下所示。
|
|
|
3
13
正如帕维尔所说,我相信这是最安全的写作方式。
|
|
|
4
6
不需要锁定整个缓存实例,我们只需要锁定您要插入的特定密钥。 也就是说,当你使用男厕所时,不需要阻塞进入女厕所的通道:) 下面的实现允许使用并发字典锁定特定的缓存键。这样,您可以同时为两个不同的键运行getoradd(),但不能同时为同一个键运行getoradd()。
|
|
|
5
2
Craig Shoemaker在ASP.NET缓存方面做了出色的展示: http://polymorphicpodcast.com/shows/webperformance/ |
|
|
6
2
我提出了以下扩展方法:
我使用了@john owen和@user378380答案。我的解决方案还允许您在缓存中存储int和bool值。 如果有任何错误或是否可以写得更好,请纠正我。 |
|
|
7
1
我最近看到了一个模式,叫做正确的状态包访问模式,它似乎涉及到这个问题。 我做了一些修改以保证线程安全。 http://weblogs.asp.net/craigshoemaker/archive/2008/08/28/asp-net-caching-and-performance.aspx
|
|
|
8
0
来自Codeguru的这篇文章解释了各种缓存锁定场景以及一些ASP.NET缓存锁定的最佳实践: |
|
|
9
0
我写了一个图书馆来解决这个问题: Rocks.Caching 另外,我在博客中详细介绍了这个问题,并解释了为什么它很重要 here . |
|
|
10
0
为了提高灵活性,我修改了@user378380的代码。现在返回的不是treult而是按顺序接受不同类型的对象。还添加了一些灵活的参数。所有的想法都属于 @ USER 78380。
|