wanshenmean
2026-03-02 bfd4fd8e4a05a681ec10a47992294cf752a764c4
Code/WCS/WIDESEAWCS_Server/WIDESEAWCS_Core/Caches/ICacheService.cs
@@ -60,5 +60,54 @@
        /// <param name="key">缓存Key</param>
        /// <returns></returns>
        string? Get(string key);
        #region ConcurrentDictionary风格方法
        /// <summary>
        /// 尝试添加,仅当Key不存在时添加成功
        /// </summary>
        bool TryAdd(string key, string value, int expireSeconds = -1);
        /// <summary>
        /// 尝试添加对象,仅当Key不存在时添加成功
        /// </summary>
        bool TryAdd<T>(string key, T value, int expireSeconds = -1) where T : class;
        /// <summary>
        /// 尝试获取值,返回是否存在
        /// </summary>
        bool TryGetValue(string key, out string? value);
        /// <summary>
        /// 尝试获取对象,返回是否存在
        /// </summary>
        bool TryGetValue<T>(string key, out T? value) where T : class;
        /// <summary>
        /// 尝试移除并返回被移除的值
        /// </summary>
        bool TryRemove(string key, out string? value);
        /// <summary>
        /// 尝试更新,仅当Key存在时更新
        /// </summary>
        bool TryUpdate(string key, string newValue, int expireSeconds = -1);
        /// <summary>
        /// 获取或添加:Key存在则返回现有值,不存在则添加并返回新值
        /// </summary>
        string GetOrAdd(string key, string value, int expireSeconds = -1);
        /// <summary>
        /// 获取或添加(工厂方法):Key存在则返回现有值,不存在则通过工厂方法生成值并添加
        /// </summary>
        string GetOrAdd(string key, Func<string, string> valueFactory, int expireSeconds = -1);
        /// <summary>
        /// 获取或添加对象
        /// </summary>
        T GetOrAdd<T>(string key, Func<string, T> valueFactory, int expireSeconds = -1) where T : class;
        #endregion
    }
}