using SqlSugar;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace EzCoreNet.Redis
|
{
|
/// <summary>
|
/// ezcore 对redis 封装
|
/// </summary>
|
public interface IEzCoreNetRedisService
|
{
|
/// <summary>
|
/// 设置一个键值
|
/// </summary>
|
/// <typeparam name="T"></typeparam>
|
/// <param name="key"></param>
|
/// <param name="value"></param>
|
/// <param name="expireSeconds"></param>
|
/// <returns></returns>
|
bool Add(string key, object value, int expireSeconds);
|
/// <summary>
|
/// 获取一个键值
|
/// </summary>
|
/// <typeparam name="T"></typeparam>
|
/// <param name="key"></param>
|
/// <returns></returns>
|
T? Get<T>(string key);
|
/// <summary>
|
/// 获取键值剩余过时间 秒级
|
/// </summary>
|
/// <param name="key"></param>
|
/// <returns></returns>
|
long GetTtl(string key);
|
|
/// <summary>
|
/// 删除键值
|
/// </summary>
|
/// <param name="key"></param>
|
/// <returns></returns>
|
bool DelKey(string key);
|
/// <summary>
|
/// 给key设置 有效时间
|
/// </summary>
|
/// <param name="key"></param>
|
/// <param name="ttl"></param>
|
/// <returns></returns>
|
bool SetTtl(string key, int ttl);
|
|
/// <summary>
|
/// 设置一个键值
|
/// </summary>
|
/// <typeparam name="T"></typeparam>
|
/// <param name="key"></param>
|
/// <param name="value"></param>
|
/// <param name="expireSeconds"></param>
|
/// <returns></returns>
|
bool Add<T>(string key, T value, int expireSeconds);
|
|
|
/// <summary>
|
/// 获取一个缓存,如果不存在,者根据DataFormSql 在数据库中获取缓存,并保存expireSeconds 时间,
|
/// </summary>
|
/// <typeparam name="T"> 类型</typeparam>
|
/// <param name="key">Key</param>
|
/// <param name="DataFormSql">读取数据函数</param>
|
/// <param name="expireSeconds">过期时间,为空表示永不过期,默认为3600</param>
|
/// <returns></returns>
|
T? GetAndRefCacheKey<T>(string key, Func<ISqlSugarClient, T> DataFormSql, ISqlSugarClient? dc = null, int? expireSeconds = 3600);
|
|
/// <summary>
|
/// 删除以开头的所有组件,主要用于操作目录
|
/// </summary>
|
/// <param name="Prefix"></param>
|
/// <returns></returns>
|
Task<long> delegateAllKeyWith(string Prefix);
|
/// <summary>
|
/// 加一
|
/// </summary>
|
/// <param name="key"></param>
|
long Incrby(string key);
|
|
/// <summary>
|
/// 获取32位sn
|
/// </summary>
|
string Get32sn();
|
|
}
|
}
|