/// <summary> /// 设置 /// </summary> /// <param name="key"></param> /// <param name="value"></param> /// <param name="cacheTime"></param> public void Set(string key, object value, TimeSpan cacheTime) { if (value != null) { //序列化,将object值生成RedisValue redisConnection.GetDatabase().StringSet(key, SerializeExtensions.Serialize(value), cacheTime); } }
/// <summary> /// 获取缓存对象 /// </summary> /// <param name="key">缓存Key</param> /// <returns></returns> public T Get <T>(string key) where T : class { var value = redisConnection.GetDatabase().StringGet(key); if (value.HasValue) { //需要用的反序列化,将Redis存储的Byte[],进行反序列化 return(SerializeExtensions.Deserialize <T>(value)); } return(default);
/// <summary> /// 获取 /// </summary> /// <typeparam name="TEntity"></typeparam> /// <param name="key"></param> /// <returns></returns> public TEntity Get <TEntity>(string key) { var value = redisConnection.GetDatabase().StringGet(key); if (value.HasValue) { //需要用的反序列化,将Redis存储的Byte[],进行反序列化 return(SerializeExtensions.Deserialize <TEntity>(value)); } else { return(default(TEntity)); } }
private string GetStrFromInstance <T>(T instance) { var toDictMethod = SerializeExtensions.GetToDictMethod(instance.GetType()); if (toDictMethod is null) { Console.WriteLine($"Method ToDict not implemented for {instance.GetType().Name}"); return(string.Empty); } var data = toDictMethod.Invoke(instance, new object[] { instance }); var jsData = JsonConvert.SerializeObject(data, Formatting.Indented); return(jsData.ToString()); }
/// <summary> /// 添加缓存 /// </summary> /// <param name="key">缓存Key</param> /// <param name="value">缓存Value</param> /// <param name="expiresIn">缓存时间</param> /// <returns></returns> public bool Set(string key, object value, int expiresIn = 0) { if (value != null) { //序列化,将object值生成RedisValue if (expiresIn > 0) { return(redisConnection.GetDatabase().StringSet(key, SerializeExtensions.Serialize(value), TimeSpan.FromMinutes(expiresIn))); } else { return(redisConnection.GetDatabase().StringSet(key, SerializeExtensions.Serialize(value))); } } return(false); }
public void JsonSerializeTest() { Assert.AreEqual(SerializeExtensions.JsonSerialize(new { Name = "123" }, true), "{\"name\":\"123\"}"); }