using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using HZQR.Common;
namespace TableDataService.RedisHelp
{
public class Redis
{
#region 方法 -> string类型缓存操作
///
/// 写入redis
///
/// redis用下标指定数据库
/// redis中的key
/// 数据实体对象
/// 有效期,按天
public static void StringSet(int dbNum, string key, object model, int? validDay = null)
{
RedisHelper redisDb = new RedisHelper(dbNum);//从redis中取
//写入redis,后面的逻辑判断都从redis中取
TimeSpan? ts = null;
if (validDay != null)
{
DateTime dt1 = DateTime.Now;
DateTime dt2 = dt1.AddDays(validDay.TryParseToInt());//redis中存放的有效期
ts = dt2 - dt1;
}
redisDb.StringSet(key, model, ts);//键值对写入redis
}
public static T StringGet(int dbNum, string key)
{
RedisHelper redisDb = new RedisHelper(dbNum);//从redis中取
if (redisDb.KeyExists(key))//判断redis缓存中是否存在key
{
return redisDb.StringGet(key);//根据key取出redis中的缓存
}
return default(T);
}
#endregion
#region 方法 -> hash类型缓存操作
///
/// 写入redis
///
/// redis用下标指定数据库
/// redis中的key
/// 数据实体对象
/// 有效期,按天
public static void HashSet(int dbNum, string key, string dataKey, object model)
{
RedisHelper redisDb = new RedisHelper(dbNum);//从redis中取
//写入redis,后面的逻辑判断都从redis中取
redisDb.HashSet(key, dataKey, model);
}
public static T HashGet(int dbNum, string key, string dataKey)
{
RedisHelper redisDb = new RedisHelper(dbNum);//从redis中取
if (redisDb.HashExists(key, dataKey))//判断redis缓存中是否存在key
{
return redisDb.HashGet(key, dataKey);//根据key取出redis中的缓存
}
return default(T);
}
#endregion
}
}