Files
zszq-trs/Framework/YLErp.Cache/IYLCache.cs
T

78 lines
2.3 KiB
C#

using Newtonsoft.Json;
using StackExchange.Redis;
namespace YLErp.Cache
{
public interface IYLCache
{
/// <summary>
/// 缓存是否可用
/// </summary>
/// <returns></returns>
bool CacheEnable();
/// <summary>
/// 字符串数据类型的保存
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <returns></returns>
bool StringSet(string key,string value);
/// <summary>
/// 字符串数据类型的查询
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
string StringGet(string key);
/// <summary>
/// 字符串数据类型的保存
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <returns></returns>
bool StringSet<T>(string key, object value);
/// <summary>
/// 字符串数据类型的查询
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <returns></returns>
T StringGet<T>(string key) where T : class;
bool StringSetWithNoPrefix<T>(string key, object value, TimeSpan? timeSpan) where T : class;
T StringGetWithNoPrefix<T>(string key) where T : class;
#region Batch Operate
/// <summary>
/// 批量增加
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="preKey"></param>
/// <param name="setSize"></param>
/// <param name="values"></param>
Task BatchAdd<T>(string preKey, List<T> values, int listSize = 1000);
/// <summary>
/// 批量删除
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="keys"></param>
bool BatchDelete(string pattern);
/// <summary>
/// 批量查询
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="pattern"></param>
/// <returns></returns>
List<T> BatchQuery<T>(string pattern);
/// <summary>
/// 模糊查询
/// </summary>
/// <param name="pattern"></param>
IEnumerable<RedisKey> QueryKeys(string pattern);
#endregion
}
}