直接引入StackExchange.Redis.dll来操作redis
using Newtonsoft.Json; using StackExchange.Redis; using System; using System.Collections.Generic; using System.Web.Script.Serialization; namespace Common { public class RedisHelper { #if FALSE RedisHelper redislper = new RedisHelper(); 使用事例 if (redislper.KeyIsExist(item.Equipmentid, redisadress))//判断是否存在key值 { var collection = redislper.GetCache<T>(key值);//获取缓存数据 } //写入缓存 List<T> list = new List<T>(); redislper.SetCache<T>(key值, list); #endif private string adress = "127.0.0.1:6379"; public RedisHelper() {} public void SetCache<T>(string key, List<T> value, DateTime? date = null) { using (var redis = ConnectionMultiplexer.Connect(adress)) { //写入 var db = redis.GetDatabase(); db.StringSet(key, JsonConvert.SerializeObject(value)); //设置过期日期 if (date != null) { DateTime time = DateTime.Now.AddSeconds(20); db.KeyExpire("key", time); } } } /// <summary> /// 获取指定key的List /// </summary> /// <param name="key"></param> /// <returns></returns> public List<T> GetCache<T>(string key) { //var adress = @"127.0.0.1:6379"; using (var redis = ConnectionMultiplexer.Connect(adress)) { //读取 var db = redis.GetDatabase(); return ConvetList<T>(db.StringGet(key)); } } /// <summary> /// 看key是否存在 /// </summary> /// <param name="key"></param> /// <returns></returns> public bool KeyIsExist(string key) { using (var redis = ConnectionMultiplexer.Connect(adress)) { //读取 var db = redis.GetDatabase(); return db.KeyExists(key); } } public List<T> ConvetList<T>(string JsonStr) { JavaScriptSerializer Serializer = new JavaScriptSerializer(); List<T> objs = Serializer.Deserialize<List<T>>(JsonStr); return objs; } } }