|
|
1
7
|
|
|
2
41
这是我们为自己的网站开发的一个非常简单、快速的实现。 我们尽量改进代码,但要保证它的线程安全。 我认为代码非常简单和清晰,但是如果您需要一些解释或与如何使用它相关的指南,请毫不犹豫地问。
|
|
3
5
在谷歌搜索时找到你的答案,也找到了: http://code.google.com/p/csharp-lru-cache/
|
|
|
4
4
我最近发布了一个名为lurchtable的类来解决Linkedhashmap的C变体的需求。一个简短的讨论 LurchTable can be found here . 基本特征:
源代码: http://csharptest.net/browse/src/Library/Collections/LurchTable.cs github: https://github.com/csharptest/CSharpTest.Net.Collections HTML帮助: http://help.csharptest.net/
|
|
|
5
4
这需要 Martin 的代码 Mr T 的建议,并使其成为StyleCop友好型。哦,它还允许在值从缓存中循环出来时对其进行处理。
|
|
|
6
3
这个 Caching Application Block 的entlib有一个现成的lru清除选项,可以在内存中。你想要的东西可能有点重。 |
|
|
7
2
我不相信。我当然见过在各种不相关的项目中多次实施手工轧制(这或多或少证实了这一点)。如果有,肯定至少有一个项目会使用它)。
实现起来相当简单,通常通过创建一个包含
键按顺序进入列表,项按字典顺序进入。
|
|
|
8
2
我喜欢劳伦斯的实践。哈希表+LinkedList是一个很好的解决方案。 关于线程,我不会锁定这个[MethodImpl(MethodImplOptions.Synchronized)],而是使用readerwriterlockslim或spin lock(因为争用通常很快)。 在get函数中,我首先检查它是否已经是第一个项,而不是总是删除和添加。这使您有可能保持在读卡器锁内,而不会阻塞其他读卡器。 |
|
|
9
0
如果它是一个ASP.NET应用程序,您可以使用缓存类[1],但您将与其他缓存的东西争夺空间,这可能是您想要的,也可能不是。 〔1〕 http://msdn.microsoft.com/en-us/library/system.web.caching.cache.aspx |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |