Skip to content

Fast.Cache 公开 API

目标 net8.0;net9.0;net10.0。本页为语法声明与 XML 注释参考,运行示例和边界见模块用法

源码提交:43554c07f6c216f80b509bd535c0a5b66ae7f2e8。维护流程:scripts/export-dotnet-api.ps1;普通站点构建直接消费此文件。

Fast.Cache.DefaultCacheContextLocator

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public class DefaultCacheContextLocator : ICacheContextLocator

默认缓存上下文定位器

Fast.Cache.DefaultCacheContextLocator.ServiceName

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string ServiceName { get; }

说明继承自接口或基类,需结合对应声明阅读。

Fast.Cache.ICacheContextLocator

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public interface ICacheContextLocator

缓存上下文定位器

Fast.Cache.ICacheContextLocator.ServiceName

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string ServiceName { get; }

服务名称

Fast.Cache.IServiceCollectionExtension

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public static class IServiceCollectionExtension

IServiceCollection 提供缓存扩展方法

Fast.Cache.IServiceCollectionExtension.AddCache

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IServiceCollection AddCache(this IServiceCollection services, string section = "RedisSettings")

添加缓存服务

  • 参数 services:要添加服务的服务集合
  • 参数 section:JSON 配置文件节点的 Key 默认值:RedisSettings
  • 返回:返回 services,便于链式调用

Fast.Cache.IServiceCollectionExtension.AddCache

源码 · 目标:net8.0、net9.0、net10.0

csharp
public static IServiceCollection AddCache(this IServiceCollection services, Action<RedisSettingsOptions> optionAction)

添加缓存服务

  • 参数 services:要添加服务的服务集合
  • 参数 optionAction:Redis 配置操作
  • 返回:返回 services,便于链式调用

Fast.Cache.ICache

源码 · 目标:net8.0、net9.0、net10.0

csharp
public interface ICache : ICache<DefaultCacheContextLocator>

默认缓存服务

Fast.Cache.ICache

源码 · 目标:net8.0、net9.0、net10.0

csharp
public interface ICache<out CacheContextLocator> where CacheContextLocator : ICacheContextLocator, new()

缓存服务

  • 类型参数 CacheContextLocator:缓存上下文定位器类型,用于隔离不同缓存配置

Fast.Cache.ICache.Prefix

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Prefix { get; }

前缀

Fast.Cache.ICache.Client

源码 · 目标:net8.0、net9.0、net10.0

csharp
CSRedisClient Client { get; }

CSRedis 缓存客户端

Fast.Cache.ICache.ContextLocator

源码 · 目标:net8.0、net9.0、net10.0

csharp
CacheContextLocator ContextLocator { get; }

缓存上下文定位器

Fast.Cache.ICache.Del

源码 · 目标:net8.0、net9.0、net10.0

csharp
long Del(params string[] key);

删除指定键的缓存项

  • 参数 key:缓存键
  • 返回:实际删除的项数

Fast.Cache.ICache.DelAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
Task<long> DelAsync(params string[] key);

异步删除指定键的缓存项

  • 参数 key:缓存键
  • 返回:表示异步删除缓存的任务,任务结果为实际删除的项数

Fast.Cache.ICache.DelByPattern

源码 · 目标:net8.0、net9.0、net10.0

csharp
long DelByPattern(string pattern);

根据匹配模式批量删除缓存

说明:该操作会扫描并删除所有匹配键,键数量较多时可能造成 Redis 阻塞,请避免在高流量路径中调用

  • 参数 pattern:用于匹配目标项的模式
  • 返回:实际删除的项数

Fast.Cache.ICache.DelByPatternAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
Task<long> DelByPatternAsync(string pattern);

异步根据匹配模式批量删除缓存

说明:该操作会扫描并删除所有匹配键,键数量较多时可能造成 Redis 阻塞,请避免在高流量路径中调用

  • 参数 pattern:用于匹配目标项的模式
  • 返回:表示异步根据匹配模式批量删除缓存的任务,任务结果为实际删除的项数

Fast.Cache.ICache.Exists

源码 · 目标:net8.0、net9.0、net10.0

csharp
bool Exists(string key);

判断指定缓存键是否存在

  • 参数 key:缓存键
  • 返回:满足条件时返回 true;否则返回 false

Fast.Cache.ICache.ExistsAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
Task<bool> ExistsAsync(string key);

异步判断指定缓存键是否存在

  • 参数 key:缓存键
  • 返回:满足条件时返回 true;否则返回 false

Fast.Cache.ICache.Get

源码 · 目标:net8.0、net9.0、net10.0

csharp
string Get(string key);

获取指定键的缓存值

  • 参数 key:缓存键
  • 返回:获取到的缓存

Fast.Cache.ICache.Get

源码 · 目标:net8.0、net9.0、net10.0

csharp
T Get<T>(string key);

获取指定键的缓存值

  • 参数 key:缓存键
  • 类型参数 T:缓存值的类型
  • 返回:获取到的缓存

Fast.Cache.ICache.GetAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
Task<string> GetAsync(string key);

异步获取指定键的缓存值

  • 参数 key:缓存键
  • 返回:表示异步获取缓存的任务,任务结果为获取到的缓存

Fast.Cache.ICache.GetAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
Task<T> GetAsync<T>(string key);

异步获取指定键的缓存值

  • 参数 key:缓存键
  • 类型参数 T:缓存值的类型
  • 返回:表示异步获取缓存的任务,任务结果为获取到的缓存

Fast.Cache.ICache.Set

源码 · 目标:net8.0、net9.0、net10.0

csharp
bool Set(string key, object value);

写入指定键的缓存值

  • 参数 key:缓存键
  • 参数 value:要写入缓存的值
  • 返回:缓存写入成功时返回 true;否则返回 false

Fast.Cache.ICache.Set

源码 · 目标:net8.0、net9.0、net10.0

csharp
bool Set(string key, object value, int expireSeconds);

写入指定键的缓存值

  • 参数 key:缓存键
  • 参数 value:要写入缓存的值
  • 参数 expireSeconds:有效时长,单位为秒
  • 返回:缓存写入成功时返回 true;否则返回 false

Fast.Cache.ICache.Set

源码 · 目标:net8.0、net9.0、net10.0

csharp
bool Set(string key, object value, TimeSpan expireTimeSpan);

写入指定键的缓存值

  • 参数 key:缓存键
  • 参数 value:要写入缓存的值
  • 参数 expireTimeSpan:有效时长
  • 返回:缓存写入成功时返回 true;否则返回 false

Fast.Cache.ICache.SetAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
Task<bool> SetAsync(string key, object value);

异步写入指定键的缓存值

  • 参数 key:缓存键
  • 参数 value:要写入缓存的值
  • 返回:缓存写入成功时返回 true;否则返回 false

Fast.Cache.ICache.SetAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
Task<bool> SetAsync(string key, object value, int expireSeconds);

异步写入指定键的缓存值

  • 参数 key:缓存键
  • 参数 value:要写入缓存的值
  • 参数 expireSeconds:有效时长,单位为秒
  • 返回:缓存写入成功时返回 true;否则返回 false

Fast.Cache.ICache.SetAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
Task<bool> SetAsync(string key, object value, TimeSpan expireTimeSpan);

异步写入指定键的缓存值

  • 参数 key:缓存键
  • 参数 value:要写入缓存的值
  • 参数 expireTimeSpan:有效时长
  • 返回:缓存写入成功时返回 true;否则返回 false

Fast.Cache.ICache.GetAllKeys

源码 · 目标:net8.0、net9.0、net10.0

csharp
List<string> GetAllKeys();

获取当前 Redis 数据库中的所有缓存键

说明:该操作需要扫描数据库中的键,键数量较多时开销较大,不应在高频请求中调用

  • 返回:获取到的当前 Redis 数据库中的所有缓存键集合

Fast.Cache.ICache.GetAllKeysAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
Task<List<string>> GetAllKeysAsync();

异步获取当前 Redis 数据库中的所有缓存键

说明:该操作需要扫描数据库中的键,键数量较多时开销较大,不应在高频请求中调用

  • 返回:表示异步获取当前 Redis 数据库中的所有缓存键的任务,任务结果为获取到的当前 Redis 数据库中的所有缓存键集合

Fast.Cache.ICache.GetAndSet

源码 · 目标:net8.0、net9.0、net10.0

csharp
string GetAndSet(string key, Func<string> func);

获取缓存值;缓存未命中时生成并写入新值

  • 参数 key:缓存键
  • 参数 func:缓存未命中时用于生成并写入值的委托
  • 返回:缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值

Fast.Cache.ICache.GetAndSet

源码 · 目标:net8.0、net9.0、net10.0

csharp
T GetAndSet<T>(string key, Func<T> func);

获取缓存值;缓存未命中时生成并写入新值

  • 参数 key:缓存键
  • 参数 func:缓存未命中时用于生成并写入值的委托
  • 类型参数 T:缓存值的类型
  • 返回:缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值

Fast.Cache.ICache.GetAndSet

源码 · 目标:net8.0、net9.0、net10.0

csharp
string GetAndSet(string key, int expireSeconds, Func<string> func);

获取缓存值;缓存未命中时生成并写入新值

  • 参数 key:缓存键
  • 参数 expireSeconds:有效时长,单位为秒
  • 参数 func:缓存未命中时用于生成并写入值的委托
  • 返回:缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值

Fast.Cache.ICache.GetAndSet

源码 · 目标:net8.0、net9.0、net10.0

csharp
T GetAndSet<T>(string key, int expireSeconds, Func<T> func);

获取缓存值;缓存未命中时生成并写入新值

  • 参数 key:缓存键
  • 参数 expireSeconds:有效时长,单位为秒
  • 参数 func:缓存未命中时用于生成并写入值的委托
  • 类型参数 T:缓存值的类型
  • 返回:缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值

Fast.Cache.ICache.GetAndSet

源码 · 目标:net8.0、net9.0、net10.0

csharp
string GetAndSet(string key, TimeSpan expireTimeSpan, Func<string> func);

获取缓存值;缓存未命中时生成并写入新值

  • 参数 key:缓存键
  • 参数 expireTimeSpan:有效时长
  • 参数 func:缓存未命中时用于生成并写入值的委托
  • 返回:缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值

Fast.Cache.ICache.GetAndSet

源码 · 目标:net8.0、net9.0、net10.0

csharp
T GetAndSet<T>(string key, TimeSpan expireTimeSpan, Func<T> func);

获取缓存值;缓存未命中时生成并写入新值

  • 参数 key:缓存键
  • 参数 expireTimeSpan:有效时长
  • 参数 func:缓存未命中时用于生成并写入值的委托
  • 类型参数 T:缓存值的类型
  • 返回:缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值

Fast.Cache.ICache.GetAndSetAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
Task<string> GetAndSetAsync(string key, Func<Task<string>> func);

异步获取缓存值;缓存未命中时生成并写入新值

  • 参数 key:缓存键
  • 参数 func:缓存未命中时用于生成并写入值的委托
  • 返回:表示异步获取并且设置缓存的任务,任务结果为缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值

Fast.Cache.ICache.GetAndSetAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
Task<T> GetAndSetAsync<T>(string key, Func<Task<T>> func);

异步获取缓存值;缓存未命中时生成并写入新值

  • 参数 key:缓存键
  • 参数 func:缓存未命中时用于生成并写入值的委托
  • 类型参数 T:缓存值的类型
  • 返回:表示异步获取并且设置缓存的任务,任务结果为缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值

Fast.Cache.ICache.GetAndSetAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
Task<string> GetAndSetAsync(string key, int expireSeconds, Func<Task<string>> func);

异步获取缓存值;缓存未命中时生成并写入新值

  • 参数 key:缓存键
  • 参数 expireSeconds:有效时长,单位为秒
  • 参数 func:缓存不存在时用于异步生成值的委托
  • 返回:表示异步获取并且设置缓存的任务,任务结果为缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值

Fast.Cache.ICache.GetAndSetAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
Task<T> GetAndSetAsync<T>(string key, int expireSeconds, Func<Task<T>> func);

异步获取缓存值;缓存未命中时生成并写入新值

  • 参数 key:缓存键
  • 参数 expireSeconds:有效时长,单位为秒
  • 参数 func:缓存不存在时用于异步生成值的委托
  • 类型参数 T:缓存值的类型
  • 返回:表示异步获取并且设置缓存的任务,任务结果为缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值

Fast.Cache.ICache.GetAndSetAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
Task<string> GetAndSetAsync(string key, TimeSpan expireTimeSpan, Func<Task<string>> func);

异步获取缓存值;缓存未命中时生成并写入新值

  • 参数 key:缓存键
  • 参数 expireTimeSpan:有效时长
  • 参数 func:缓存未命中时用于生成并写入值的委托
  • 返回:表示异步获取并且设置缓存的任务,任务结果为缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值

Fast.Cache.ICache.GetAndSetAsync

源码 · 目标:net8.0、net9.0、net10.0

csharp
Task<T> GetAndSetAsync<T>(string key, TimeSpan expireTimeSpan, Func<Task<T>> func);

异步获取缓存值;缓存未命中时生成并写入新值

  • 参数 key:缓存键
  • 参数 expireTimeSpan:有效时长
  • 参数 func:缓存未命中时用于生成并写入值的委托
  • 类型参数 T:缓存值的类型
  • 返回:表示异步获取并且设置缓存的任务,任务结果为缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值

Fast.Cache.RedisSettingsOptions

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public class RedisSettingsOptions : IPostConfigure

Redis 连接字符串配置

Fast.Cache.RedisSettingsOptions.ServiceIp

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string ServiceIp { get; set; }

服务器 Ip 地址

Fast.Cache.RedisSettingsOptions.Port

源码 · 目标:net8.0、net9.0、net10.0

csharp
public int? Port { get; set; }

端口号

Fast.Cache.RedisSettingsOptions.DbName

源码 · 目标:net8.0、net9.0、net10.0

csharp
public int? DbName { get; set; }

默认库

Fast.Cache.RedisSettingsOptions.DbPwd

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string DbPwd { get; set; }

密码

Fast.Cache.RedisSettingsOptions.Prefix

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string Prefix { get; set; }

前缀

Fast.Cache.RedisSettingsOptions.Poolsize

源码 · 目标:net8.0、net9.0、net10.0

csharp
public int? Poolsize { get; set; }

连接池大小

Fast.Cache.RedisSettingsOptions.SSL

源码 · 目标:net8.0、net9.0、net10.0

csharp
public bool? SSL { get; set; }

SSL 加密连接

Fast.Cache.RedisSettingsOptions.Services

源码 · 目标:net8.0、net9.0、net10.0

csharp
public List<RedisServiceSettingsOptions> Services { get; set; }

服务

Fast.Cache.RedisSettingsOptions.PostConfigure

源码 · 目标:net8.0、net9.0、net10.0

csharp
public void PostConfigure()

说明继承自接口或基类,需结合对应声明阅读。

Fast.Cache.RedisServiceSettingsOptions

源码 · 目标:net8.0、net9.0、net10.0

csharp
[SuppressSniffer]
public class RedisServiceSettingsOptions : RedisSettingsOptions

Redis 连接字符串服务配置

Fast.Cache.RedisServiceSettingsOptions.ServiceName

源码 · 目标:net8.0、net9.0、net10.0

csharp
public string ServiceName { get; set; }

服务名称