Files
Web_AuthorityManagement_Mvc…/UI/CSRedisCacheHelper.cs

131 lines
3.6 KiB
C#
Raw Normal View History

using CSRedis;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Text;
using static CSRedis.CSRedisClient;
namespace Common
{
/// <summary>
/// Redis缓存辅助类
/// </summary>
public class CSRedisCacheHelper
{
2025-12-20 15:35:14 +08:00
public static CSRedisClient redis;
private const string ip = "localhost";
private const string port = "26379";
static CSRedisCacheHelper()
{
var redisHostStr = string.Format("{0}:{1}", ip, port);
if (!string.IsNullOrEmpty(redisHostStr))
{
2025-12-20 15:35:14 +08:00
redis = new CSRedisClient(redisHostStr + ",password=1001^_^lool,defaultDatabase=0");
var DingYueMsg = ("CellCorelDRAWUser", new Action<SubscribeMessageEventArgs>(async (args) =>
{
string body = args.Body;
}));
CSRedisCacheHelper.redis.Subscribe(DingYueMsg);
}
}
/// <summary>
/// 添加缓存
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <param name="value"></param>
public static void Set<T>(string key, T value, int ExpireTime)
{
redis?.Set(key, value, ExpireTime * 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>
/// <returns></returns>
public static bool Contains(string key)
{
bool result = redis.Exists(key);
return result;
}
/// <summary>
/// 发布消息
/// </summary>
/// <param name="Topic"></param>
/// <param name="Payload"></param>
public static void Publish(string Topic, string Payload)
{
CSRedisCacheHelper.redis.PublishNoneMessageId(Topic, Payload);
}
public static void LPush(string Key, Dictionary<string, string> Value)
{
CSRedisCacheHelper.redis.LPush<Dictionary<string,string>>(Key,Value);
}
public static T BRPop<T>(string Key)
{
return CSRedisCacheHelper.redis.BRPop<T>(3,Key);
}
2025-12-20 15:35:14 +08:00
/// <summary>
/// 添加Hash缓存
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <param name="value"></param>
public static void HMSet(string key, params object[] value)
{
redis.HMSet(key, value);
}
public static void HMSet(int ExpireTime_M, string key, params object[] value)
{
redis.HMSet(key, value);
redis.Expire(key, new TimeSpan(0, ExpireTime_M, 0));
}
/// <summary>
/// 获取Hash缓存
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <returns></returns>
public static T[] HMGet<T>(string key, string KeyV)
{
return redis.HMGet<T>(key, KeyV);
}
/// <summary>
/// Example
/// WXFault_酒店编号_房间号
/// </summary>
/// <param name="key"></param>
/// <returns></returns>
public static Dictionary<string, string> HMGetAll(string key)
{
return redis.HGetAll(key);
}
}
}