标签:store convert ilo oms long lexer erro data ons
项目里的Redis 工具类,写下来以备后用
1 public class RedisConnector 2 { 3 public class RedisParseResult<T> 4 { 5 public bool success; 6 public T value; 7 } 8 private static string ConnectionString { get; set; } 9 private static ConnectionMultiplexer RedisConnection { get; set; } 10 11 public RedisConnector(string redisConnectionString) 12 { 13 ConnectionString = redisConnectionString; 14 try 15 { 16 RedisConnection = ConnectionMultiplexer.Connect(ConnectionString); 17 } 18 catch (RedisConnectionException e) 19 { 20 AILogger.LogError(e.Message, $"Redis server : {redisConnectionString}").Wait(); 21 } 22 } 23 24 public static void Initialize(string redisConnectionString) 25 { 26 ConnectionString = redisConnectionString; 27 try 28 { 29 RedisConnection = ConnectionMultiplexer.Connect(ConnectionString); 30 } 31 catch (RedisConnectionException e) 32 { 33 AILogger.LogError(e.Message, $"Redis server : {redisConnectionString}").Wait(); 34 } 35 } 36 public static IDatabase RedisStore => (null != RedisConnection) ? RedisConnection.GetDatabase() : ConnectionMultiplexer.Connect(ConnectionString).GetDatabase(); 37 public static ConnectionMultiplexer Redis => RedisConnection ?? ConnectionMultiplexer.Connect(ConnectionString); 38 39 public async static Task<bool> Store(string key, string value, int expiry = 120, bool replace = false) => await RedisStore.StringSetAsync(key, value, TimeSpan.FromSeconds(expiry), replace ? When.Always : When.NotExists); 40 public async static Task<bool> Store(string key, long value, int expiry = 120, bool replace = false) => await RedisStore.StringSetAsync(key, value.ToString(), TimeSpan.FromSeconds(expiry), replace ? When.Always : When.NotExists); 41 public async static Task<bool> Store<T>(string key, T value, int expiry = 120, bool replace = false) => await RedisStore.StringSetAsync(key, JsonConvert.SerializeObject(value), TimeSpan.FromSeconds(expiry), replace ? When.Always : When.NotExists); 42 43 public static string Get(string key) => RedisStore.StringGet(key); 44 public static RedisParseResult<T> Get<T>(string key) 45 { 46 var storedValue = RedisStore.StringGet(key); 47 if (string.IsNullOrEmpty(storedValue)) 48 return new RedisParseResult<T> { success = false }; 49 else 50 return new RedisParseResult<T> { success = true, value = JsonConvert.DeserializeObject<T>(storedValue) }; 51 } 52 }
标签:store convert ilo oms long lexer erro data ons
原文地址:http://www.cnblogs.com/lifuquan/p/7472635.html