using ServiceStack.Redis; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CarLocalMeter { public class RedisCls { public static RedisClient client = new RedisClient(AppConfigCache.redisIp, AppConfigCache.redisPort);//如果有密码则带密码,如果数据存在在db0外的比如db1则第四位为1 Log lg = Log.GetInstance(); public static List getValue(out bool flag) { try { flag = true; return client.GetAllKeys(); } catch { flag = false; return new List(); } } /// /// 获取redis数据 /// /// /// public static T getValue(string key, out bool flag) { try { flag = true; return client.Get(key); } catch { flag = false; return default(T); } } /// /// 添加redis数据 /// /// /// 可以是Json的字符串,也可以是List集合等 public static void setVaule(string key, T value, out bool flag, DateTime dt = default) { try { flag = true; if (dt != null && dt > DateTime.Now) { client.Set(key, value, dt); //client.ExpireEntryAt(key, DateTime.Now.AddSeconds(60)); //client.ExpireEntryIn(key, TimeSpan.FromSeconds(20)); } else client.Set(key, value); } catch { flag = false; } } public static void setItemVaule(string key, string value, out bool flag, DateTime dt = default) { try { flag = true; if (dt != null && dt > DateTime.Now) { client.AddItemToSet(key, value); client.ExpireEntryAt(key, dt); //client.ExpireEntryIn(key, TimeSpan.FromSeconds(20)); } else client.AddItemToSet(key, value); } catch { flag = false; } } public static void remoeItemValue(string key, string item, out bool flag) { try { flag = true; client.RemoveItemFromSet(key, item); } catch { flag = false; } } } }