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
[SuppressSniffer]
public class DefaultCacheContextLocator : ICacheContextLocator默认缓存上下文定位器
Fast.Cache.DefaultCacheContextLocator.ServiceName
源码 · 目标:net8.0、net9.0、net10.0
public string ServiceName { get; }说明继承自接口或基类,需结合对应声明阅读。
Fast.Cache.ICacheContextLocator
源码 · 目标:net8.0、net9.0、net10.0
[SuppressSniffer]
public interface ICacheContextLocator缓存上下文定位器
Fast.Cache.ICacheContextLocator.ServiceName
源码 · 目标:net8.0、net9.0、net10.0
public string ServiceName { get; }服务名称
Fast.Cache.IServiceCollectionExtension
源码 · 目标:net8.0、net9.0、net10.0
[SuppressSniffer]
public static class IServiceCollectionExtension为 IServiceCollection 提供缓存扩展方法
Fast.Cache.IServiceCollectionExtension.AddCache
源码 · 目标:net8.0、net9.0、net10.0
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
public static IServiceCollection AddCache(this IServiceCollection services, Action<RedisSettingsOptions> optionAction)添加缓存服务
- 参数
services:要添加服务的服务集合 - 参数
optionAction:Redis 配置操作 - 返回:返回
services,便于链式调用
Fast.Cache.ICache
源码 · 目标:net8.0、net9.0、net10.0
public interface ICache : ICache<DefaultCacheContextLocator>默认缓存服务
Fast.Cache.ICache
源码 · 目标:net8.0、net9.0、net10.0
public interface ICache<out CacheContextLocator> where CacheContextLocator : ICacheContextLocator, new()缓存服务
- 类型参数
CacheContextLocator:缓存上下文定位器类型,用于隔离不同缓存配置
Fast.Cache.ICache.Prefix
源码 · 目标:net8.0、net9.0、net10.0
public string Prefix { get; }前缀
Fast.Cache.ICache.Client
源码 · 目标:net8.0、net9.0、net10.0
CSRedisClient Client { get; }CSRedis 缓存客户端
Fast.Cache.ICache.ContextLocator
源码 · 目标:net8.0、net9.0、net10.0
CacheContextLocator ContextLocator { get; }缓存上下文定位器
Fast.Cache.ICache.Del
源码 · 目标:net8.0、net9.0、net10.0
long Del(params string[] key);删除指定键的缓存项
- 参数
key:缓存键 - 返回:实际删除的项数
Fast.Cache.ICache.DelAsync
源码 · 目标:net8.0、net9.0、net10.0
Task<long> DelAsync(params string[] key);异步删除指定键的缓存项
- 参数
key:缓存键 - 返回:表示异步删除缓存的任务,任务结果为实际删除的项数
Fast.Cache.ICache.DelByPattern
源码 · 目标:net8.0、net9.0、net10.0
long DelByPattern(string pattern);根据匹配模式批量删除缓存
说明:该操作会扫描并删除所有匹配键,键数量较多时可能造成 Redis 阻塞,请避免在高流量路径中调用
- 参数
pattern:用于匹配目标项的模式 - 返回:实际删除的项数
Fast.Cache.ICache.DelByPatternAsync
源码 · 目标:net8.0、net9.0、net10.0
Task<long> DelByPatternAsync(string pattern);异步根据匹配模式批量删除缓存
说明:该操作会扫描并删除所有匹配键,键数量较多时可能造成 Redis 阻塞,请避免在高流量路径中调用
- 参数
pattern:用于匹配目标项的模式 - 返回:表示异步根据匹配模式批量删除缓存的任务,任务结果为实际删除的项数
Fast.Cache.ICache.Exists
源码 · 目标:net8.0、net9.0、net10.0
bool Exists(string key);判断指定缓存键是否存在
- 参数
key:缓存键 - 返回:满足条件时返回
true;否则返回false
Fast.Cache.ICache.ExistsAsync
源码 · 目标:net8.0、net9.0、net10.0
Task<bool> ExistsAsync(string key);异步判断指定缓存键是否存在
- 参数
key:缓存键 - 返回:满足条件时返回
true;否则返回false
Fast.Cache.ICache.Get
源码 · 目标:net8.0、net9.0、net10.0
string Get(string key);获取指定键的缓存值
- 参数
key:缓存键 - 返回:获取到的缓存
Fast.Cache.ICache.Get
源码 · 目标:net8.0、net9.0、net10.0
T Get<T>(string key);获取指定键的缓存值
- 参数
key:缓存键 - 类型参数
T:缓存值的类型 - 返回:获取到的缓存
Fast.Cache.ICache.GetAsync
源码 · 目标:net8.0、net9.0、net10.0
Task<string> GetAsync(string key);异步获取指定键的缓存值
- 参数
key:缓存键 - 返回:表示异步获取缓存的任务,任务结果为获取到的缓存
Fast.Cache.ICache.GetAsync
源码 · 目标:net8.0、net9.0、net10.0
Task<T> GetAsync<T>(string key);异步获取指定键的缓存值
- 参数
key:缓存键 - 类型参数
T:缓存值的类型 - 返回:表示异步获取缓存的任务,任务结果为获取到的缓存
Fast.Cache.ICache.Set
源码 · 目标:net8.0、net9.0、net10.0
bool Set(string key, object value);写入指定键的缓存值
- 参数
key:缓存键 - 参数
value:要写入缓存的值 - 返回:缓存写入成功时返回
true;否则返回false
Fast.Cache.ICache.Set
源码 · 目标:net8.0、net9.0、net10.0
bool Set(string key, object value, int expireSeconds);写入指定键的缓存值
- 参数
key:缓存键 - 参数
value:要写入缓存的值 - 参数
expireSeconds:有效时长,单位为秒 - 返回:缓存写入成功时返回
true;否则返回false
Fast.Cache.ICache.Set
源码 · 目标:net8.0、net9.0、net10.0
bool Set(string key, object value, TimeSpan expireTimeSpan);写入指定键的缓存值
- 参数
key:缓存键 - 参数
value:要写入缓存的值 - 参数
expireTimeSpan:有效时长 - 返回:缓存写入成功时返回
true;否则返回false
Fast.Cache.ICache.SetAsync
源码 · 目标:net8.0、net9.0、net10.0
Task<bool> SetAsync(string key, object value);异步写入指定键的缓存值
- 参数
key:缓存键 - 参数
value:要写入缓存的值 - 返回:缓存写入成功时返回
true;否则返回false
Fast.Cache.ICache.SetAsync
源码 · 目标:net8.0、net9.0、net10.0
Task<bool> SetAsync(string key, object value, int expireSeconds);异步写入指定键的缓存值
- 参数
key:缓存键 - 参数
value:要写入缓存的值 - 参数
expireSeconds:有效时长,单位为秒 - 返回:缓存写入成功时返回
true;否则返回false
Fast.Cache.ICache.SetAsync
源码 · 目标:net8.0、net9.0、net10.0
Task<bool> SetAsync(string key, object value, TimeSpan expireTimeSpan);异步写入指定键的缓存值
- 参数
key:缓存键 - 参数
value:要写入缓存的值 - 参数
expireTimeSpan:有效时长 - 返回:缓存写入成功时返回
true;否则返回false
Fast.Cache.ICache.GetAllKeys
源码 · 目标:net8.0、net9.0、net10.0
List<string> GetAllKeys();获取当前 Redis 数据库中的所有缓存键
说明:该操作需要扫描数据库中的键,键数量较多时开销较大,不应在高频请求中调用
- 返回:获取到的当前 Redis 数据库中的所有缓存键集合
Fast.Cache.ICache.GetAllKeysAsync
源码 · 目标:net8.0、net9.0、net10.0
Task<List<string>> GetAllKeysAsync();异步获取当前 Redis 数据库中的所有缓存键
说明:该操作需要扫描数据库中的键,键数量较多时开销较大,不应在高频请求中调用
- 返回:表示异步获取当前 Redis 数据库中的所有缓存键的任务,任务结果为获取到的当前 Redis 数据库中的所有缓存键集合
Fast.Cache.ICache.GetAndSet
源码 · 目标:net8.0、net9.0、net10.0
string GetAndSet(string key, Func<string> func);获取缓存值;缓存未命中时生成并写入新值
- 参数
key:缓存键 - 参数
func:缓存未命中时用于生成并写入值的委托 - 返回:缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值
Fast.Cache.ICache.GetAndSet
源码 · 目标:net8.0、net9.0、net10.0
T GetAndSet<T>(string key, Func<T> func);获取缓存值;缓存未命中时生成并写入新值
- 参数
key:缓存键 - 参数
func:缓存未命中时用于生成并写入值的委托 - 类型参数
T:缓存值的类型 - 返回:缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值
Fast.Cache.ICache.GetAndSet
源码 · 目标:net8.0、net9.0、net10.0
string GetAndSet(string key, int expireSeconds, Func<string> func);获取缓存值;缓存未命中时生成并写入新值
- 参数
key:缓存键 - 参数
expireSeconds:有效时长,单位为秒 - 参数
func:缓存未命中时用于生成并写入值的委托 - 返回:缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值
Fast.Cache.ICache.GetAndSet
源码 · 目标:net8.0、net9.0、net10.0
T GetAndSet<T>(string key, int expireSeconds, Func<T> func);获取缓存值;缓存未命中时生成并写入新值
- 参数
key:缓存键 - 参数
expireSeconds:有效时长,单位为秒 - 参数
func:缓存未命中时用于生成并写入值的委托 - 类型参数
T:缓存值的类型 - 返回:缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值
Fast.Cache.ICache.GetAndSet
源码 · 目标:net8.0、net9.0、net10.0
string GetAndSet(string key, TimeSpan expireTimeSpan, Func<string> func);获取缓存值;缓存未命中时生成并写入新值
- 参数
key:缓存键 - 参数
expireTimeSpan:有效时长 - 参数
func:缓存未命中时用于生成并写入值的委托 - 返回:缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值
Fast.Cache.ICache.GetAndSet
源码 · 目标:net8.0、net9.0、net10.0
T GetAndSet<T>(string key, TimeSpan expireTimeSpan, Func<T> func);获取缓存值;缓存未命中时生成并写入新值
- 参数
key:缓存键 - 参数
expireTimeSpan:有效时长 - 参数
func:缓存未命中时用于生成并写入值的委托 - 类型参数
T:缓存值的类型 - 返回:缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值
Fast.Cache.ICache.GetAndSetAsync
源码 · 目标:net8.0、net9.0、net10.0
Task<string> GetAndSetAsync(string key, Func<Task<string>> func);异步获取缓存值;缓存未命中时生成并写入新值
- 参数
key:缓存键 - 参数
func:缓存未命中时用于生成并写入值的委托 - 返回:表示异步获取并且设置缓存的任务,任务结果为缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值
Fast.Cache.ICache.GetAndSetAsync
源码 · 目标:net8.0、net9.0、net10.0
Task<T> GetAndSetAsync<T>(string key, Func<Task<T>> func);异步获取缓存值;缓存未命中时生成并写入新值
- 参数
key:缓存键 - 参数
func:缓存未命中时用于生成并写入值的委托 - 类型参数
T:缓存值的类型 - 返回:表示异步获取并且设置缓存的任务,任务结果为缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值
Fast.Cache.ICache.GetAndSetAsync
源码 · 目标:net8.0、net9.0、net10.0
Task<string> GetAndSetAsync(string key, int expireSeconds, Func<Task<string>> func);异步获取缓存值;缓存未命中时生成并写入新值
- 参数
key:缓存键 - 参数
expireSeconds:有效时长,单位为秒 - 参数
func:缓存不存在时用于异步生成值的委托 - 返回:表示异步获取并且设置缓存的任务,任务结果为缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值
Fast.Cache.ICache.GetAndSetAsync
源码 · 目标:net8.0、net9.0、net10.0
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
Task<string> GetAndSetAsync(string key, TimeSpan expireTimeSpan, Func<Task<string>> func);异步获取缓存值;缓存未命中时生成并写入新值
- 参数
key:缓存键 - 参数
expireTimeSpan:有效时长 - 参数
func:缓存未命中时用于生成并写入值的委托 - 返回:表示异步获取并且设置缓存的任务,任务结果为缓存中已有的值,或缓存未命中时由值工厂生成并写入的新值
Fast.Cache.ICache.GetAndSetAsync
源码 · 目标:net8.0、net9.0、net10.0
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
[SuppressSniffer]
public class RedisSettingsOptions : IPostConfigureRedis 连接字符串配置
Fast.Cache.RedisSettingsOptions.ServiceIp
源码 · 目标:net8.0、net9.0、net10.0
public string ServiceIp { get; set; }服务器 Ip 地址
Fast.Cache.RedisSettingsOptions.Port
源码 · 目标:net8.0、net9.0、net10.0
public int? Port { get; set; }端口号
Fast.Cache.RedisSettingsOptions.DbName
源码 · 目标:net8.0、net9.0、net10.0
public int? DbName { get; set; }默认库
Fast.Cache.RedisSettingsOptions.DbPwd
源码 · 目标:net8.0、net9.0、net10.0
public string DbPwd { get; set; }密码
Fast.Cache.RedisSettingsOptions.Prefix
源码 · 目标:net8.0、net9.0、net10.0
public string Prefix { get; set; }前缀
Fast.Cache.RedisSettingsOptions.Poolsize
源码 · 目标:net8.0、net9.0、net10.0
public int? Poolsize { get; set; }连接池大小
Fast.Cache.RedisSettingsOptions.SSL
源码 · 目标:net8.0、net9.0、net10.0
public bool? SSL { get; set; }SSL 加密连接
Fast.Cache.RedisSettingsOptions.Services
源码 · 目标:net8.0、net9.0、net10.0
public List<RedisServiceSettingsOptions> Services { get; set; }服务
Fast.Cache.RedisSettingsOptions.PostConfigure
源码 · 目标:net8.0、net9.0、net10.0
public void PostConfigure()说明继承自接口或基类,需结合对应声明阅读。
Fast.Cache.RedisServiceSettingsOptions
源码 · 目标:net8.0、net9.0、net10.0
[SuppressSniffer]
public class RedisServiceSettingsOptions : RedisSettingsOptionsRedis 连接字符串服务配置
Fast.Cache.RedisServiceSettingsOptions.ServiceName
源码 · 目标:net8.0、net9.0、net10.0
public string ServiceName { get; set; }服务名称
