public static void HashSet(string key, KeyValuePair <string, string> val) { if (!IsEnable) { throw new PlatformNotSupportedException("No Redis enable"); } RedisDatabase.HashSet(key, val.Key, val.Value); }
/// <summary> /// Serialize an object. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="obj"></param> private void Serialize <T>(T obj) { var t = typeof(T); var properties = t.GetProperties(); var hashEntries = new HashEntry[properties.Length]; var i = 0; foreach (var property in properties) { hashEntries[i] = new HashEntry(property.Name, JsonConvert.SerializeObject(property.GetValue(obj))); i++; } RedisDatabase.HashSet(t.Name, hashEntries); }
/// <summary> /// Save object changes. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="obj"></param> private void SaveChanges <T>(T obj) { var t = typeof(T); var properties = t.GetProperties(); var fields = t.GetFields(); var hashEntries = new HashEntry[properties.Length + fields.Length]; var i = 0; foreach (var property in properties) { hashEntries[i] = new HashEntry(property.Name, JsonConvert.SerializeObject(property.GetValue(obj))); i++; } var guid = t.GetProperty("Identifier").GetValue(obj).ToString(); RedisDatabase.SortedSetAdd(t.GetTypeInfo().Name, guid, RedisDatabase.SortedSetLength(t.GetTypeInfo().Name)); RedisDatabase.HashSet(guid, hashEntries); }