T_Cyjb_Cache_LruCache_2 - CYJB/Cyjb GitHub Wiki

LruCache(TKey, TValue) 类

表示使用改进的 LRU(最近最少使用)算法的对象缓冲池。

继承层次

System.Object
  Cyjb.Cache.LruCache(TKey, TValue)
Namespace: Cyjb.Cache
Assembly: Cyjb (in Cyjb.dll) Version: 1.0.23+7750dd8e971297c5fa962a3bee37fb78f72793f6

语法

C#

public sealed class LruCache<TKey, TValue> : ICache<TKey, TValue>

类型参数

 

TKey
缓存对象的键的类型。
TValue
缓存对象的类型。
  The LruCache(TKey, TValue) type exposes the following members.

构造函数

 

名称 说明
公共方法 LruCache(TKey, TValue)(Int32) 使用指定的最大对象数目初始化 LruCache(TKey, TValue) 类的新实例。
公共方法 LruCache(TKey, TValue)(Int32, Double) 使用指定的最大对象数目和热对象所占的百分比初始化 LruCache(TKey, TValue) 类的新实例。
  Back to Top

属性

 

名称 说明
公共属性 Count 获取实际包含在缓存中的对象数目。
公共属性 MaxSize 获取缓存中可以保存的最大对象数目。
  Back to Top

方法

 

名称 说明
公共方法 Add 将指定的键和对象添加到缓存中,无论键是否存在。
公共方法 Clear 清空缓存中的所有对象。
公共方法 Contains 确定缓存中是否包含指定的键。
公共方法 Equals Determines whether the specified object is equal to the current object. (继承自 Object。)
公共方法 GetHashCode Serves as the default hash function. (继承自 Object。)
公共方法 GetOrAdd(TKey, Func(TKey, TValue)) 从缓存中获取与指定的键关联的对象,如果不存在则将新对象添加到缓存中。
公共方法 GetOrAdd(TArg)(TKey, TArg, Func(TKey, TArg, TValue)) 从缓存中获取与指定的键关联的对象,如果不存在则将新对象添加到缓存中。
公共方法 GetType Gets the Type of the current instance. (继承自 Object。)
公共方法 Remove 从缓存中移除具有指定键的对象。
公共方法 ToString Returns a string that represents the current object. (继承自 Object。)
公共方法 TryGet 尝试从缓存中获取与指定的键关联的对象。
  Back to Top

Remarks

该类不包含多线程同步,请仅在单线程应用中使用。

关于改进的 LRU(最近最少使用)算法,可以参考我的博文 《一个改进 LRU 算法的缓冲池》

参见

Reference

Cyjb.Cache 命名空间

Other Resources

《一个改进 LRU 算法的缓冲池》
⚠️ **GitHub.com Fallback** ⚠️