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);
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        /// <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);
        }