Files
Web_PMSApi_Server_V1_Prod/MyQianLiMa/Common/CSRedisCacheHelper.cs

108 lines
3.0 KiB
C#
Raw Normal View History

2025-11-20 15:56:30 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using CSRedis;
namespace BLWWS.PMS.Common
{
/// <summary>
/// Redis缓存辅助类
/// </summary>
public class CSRedisCacheHelper
{
public static CSRedisClient redis;
private static int SessionExpireMinutes = 60 * 24 * 60;
public static string pwd = ConfigurationManager.AppSettings["redis_pwd"];
static CSRedisCacheHelper()
{
//var redisHostStr = "127.0.0.1:7555,poolsize=20";
var redisHostStr = "127.0.0.1:6379,poolsize=20";
if (!string.IsNullOrEmpty(redisHostStr))
{
//redis = new CSRedisClient(redisHostStr + ",password=cw_oy_lsh,defaultDatabase=1");
string str = string.Format(",password={0},defaultDatabase=1", pwd);
redis = new CSRedisClient(redisHostStr + str);
}
}
/// <summary>
/// 添加缓存
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <param name="value"></param>
public static void Set<T>(string key, T value)
{
redis.Set(key, value, SessionExpireMinutes * 60);
}
public static T Get<T>(string key)
{
return redis.Get<T>(key);
}
public static void Forever<T>(string key, T value)
{
redis.Set(key, value, -1);
}
public static void Del(string key)
{
redis.Del(key);
}
/// <summary>
/// 判断是否存在
/// </summary>
/// <param name="key"></param>
/// <param name="mac"></param>
/// <returns></returns>
public static bool Contains(string key, string mac)
{
bool result = redis.Exists(mac);
if (!result)
{
result = redis.Exists(key);
}
return result;
}
public static bool Contains(string key)
{
bool result = redis.Exists(key);
return result;
}
/// <summary>
/// 添加Hash缓存
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <param name="value"></param>
public static void HMSet<T>(string key, T value)
{
redis.HMSet(key, value);
}
/// <summary>
/// 获取Hash缓存
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <returns></returns>
public static T[] HMGet<T>(string key)
{
return redis.HMGet<T>(key);
}
/// <summary>
/// 删除Hash缓存
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <returns></returns>
public static long HDel<T>(string key)
{
return redis.HDel(key);
}
}
}