public void InsertAndRetrieveItem()
 {
     var cache = new RedisCachingProvider();
     cache.Insert("MyItem", "MyContent");
     var item = cache.GetItem("MyItem");
     Assert.AreEqual(item, "MyContent");
 }
Example #2
0
        public void ItemDoesNotExist()
        {
            var cache = new RedisCachingProvider();
            var item  = cache.GetItem("ItemDoesNotExist");

            Assert.IsNull(item);
        }
Example #3
0
        public void InsertAndRetrieveItem()
        {
            var cache = new RedisCachingProvider();

            cache.Insert("MyItem", "MyContent");
            var item = cache.GetItem("MyItem");

            Assert.AreEqual(item, "MyContent");
        }
 public void RemoveItem()
 {
     var cache = new RedisCachingProvider();
     cache.Insert("MyRemoveItem", "MyContent");
     var item = cache.GetItem("MyRemoveItem");
     Assert.IsNotNull(item);
     cache.Remove("MyRemoveItem");
     item = cache.GetItem("MyRemoveItem");
     Assert.IsNull(item);
 }
Example #5
0
        /// <summary>
        ///     返回哈希表key中,一个或多个给定域的值。
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="fields"></param>
        /// <param name="db"></param>
        /// <returns></returns>
        public IList <T> MGet <T>(string[] fields, RedisCachingProvider db = null)
        {
            var nts = new NameType[fields.Length];

            for (var i = 0; i < fields.Length; i++)
            {
                nts[i] = new NameType(fields[i], i);
            }
            db = RedisCachingProvider.GetClient(db);
            return(db.HashGetFields <T>(_mDataKey, nts, _mDataType));
        }
Example #6
0
 /// <summary>
 ///     删除一个key
 /// </summary>
 public void Delete(RedisCachingProvider db = null)
 {
     db = RedisCachingProvider.GetClient(db);
     if (_mIsSingleKey)
     {
         db.Delete((string)DataKey);
     }
     else
     {
         db.Delete(GetKeys);
     }
 }
Example #7
0
        public void RemoveItem()
        {
            var cache = new RedisCachingProvider();

            cache.Insert("MyRemoveItem", "MyContent");
            var item = cache.GetItem("MyRemoveItem");

            Assert.IsNotNull(item);
            cache.Remove("MyRemoveItem");
            item = cache.GetItem("MyRemoveItem");
            Assert.IsNull(item);
        }
 public void NonSerializableObject()
 {
     Exception serialEx = null;
     try
     {
         var obj = new NonSerializableClass();
         var cache = new RedisCachingProvider();
         cache.Insert("MyItem1", obj); // silentMode=false on app.config                
     }
     catch (SerializationException ex)
     {
         serialEx = ex;
     }
     Assert.IsNotNull(serialEx);
 }
 public void ClearCache()
 {
     var cache = new RedisCachingProvider();
     cache.Insert("MyItem1", "MyContent1");
     cache.Insert("MyItem2", "MyContent2");
     var item1 = cache.GetItem("MyItem1");
     var item2 = cache.GetItem("MyItem2");
     Assert.AreEqual(item1, "MyContent1");
     Assert.AreEqual(item2, "MyContent2");
     cache.Clear("Prefix", "");
     item1 = cache.GetItem("MyItem1");
     item2 = cache.GetItem("MyItem2");
     Assert.IsNull(item1);
     Assert.IsNull(item2);
 }
Example #10
0
        /// <summary>
        ///     同时设置一个或多个key-value对
        /// </summary>
        /// <param name="values">value数组</param>
        public void MSetValues(object[] values, RedisCachingProvider db = null)
        {
            db = RedisCachingProvider.GetClient(db);
            var kvs   = new List <Field>();
            var keys  = GetKeys;
            var count = keys.Length > values.Length ? values.Length : keys.Length;

            for (var i = 0; i < count; i++)
            {
                kvs.Add(new Field {
                    Value = values[i], Name = keys[i]
                });
            }
            db.MSet(kvs.ToArray(), DataType);
        }
Example #11
0
        public void NonSerializableObject()
        {
            Exception serialEx = null;

            try
            {
                var obj   = new NonSerializableClass();
                var cache = new RedisCachingProvider();
                cache.Insert("MyItem1", obj); // silentMode=false on app.config
            }
            catch (SerializationException ex)
            {
                serialEx = ex;
            }
            Assert.IsNotNull(serialEx);
        }
Example #12
0
        public void ClearCache()
        {
            var cache = new RedisCachingProvider();

            cache.Insert("MyItem1", "MyContent1");
            cache.Insert("MyItem2", "MyContent2");
            var item1 = cache.GetItem("MyItem1");
            var item2 = cache.GetItem("MyItem2");

            Assert.AreEqual(item1, "MyContent1");
            Assert.AreEqual(item2, "MyContent2");
            cache.Clear("Prefix", "");
            item1 = cache.GetItem("MyItem1");
            item2 = cache.GetItem("MyItem2");
            Assert.IsNull(item1);
            Assert.IsNull(item2);
        }
Example #13
0
 /// <summary>
 ///     将 key 所储存的值加上增量 increment
 /// </summary>
 /// <param name="increment">增量</param>
 /// <returns>执行INCR命令之后key的值</returns>
 public long Incrby(long increment, RedisCachingProvider db = null)
 {
     db = RedisCachingProvider.GetClient(db);
     return(db.Incrby((string)DataKey, increment));
 }
Example #14
0
 public int Sadds <T>(List <T> members, RedisCachingProvider db = null)
 {
     db = RedisCachingProvider.GetClient(db);
     return(db.Sadd((string)mDataKey, members, mDataType));
 }
 public void CreateProviderInstance()
 {
     var cache = new RedisCachingProvider();
     Assert.IsNotNull(cache);
 }
Example #16
0
 /// <summary>
 ///     设置一个key的过期时间
 /// </summary>
 /// <param name="time">过期时间,以秒为单位</param>
 /// <param name="db"></param>
 public void Expire(long time, RedisCachingProvider db = null)
 {
     db = RedisCachingProvider.GetClient(db);
     db.Expire((string)DataKey, time);
 }
Example #17
0
 public IList <object> Get <T, T1, T2, T3, T4>(RedisCachingProvider db = null)
 {
     db = RedisCachingProvider.GetClient(db);
     return(db.Get(new Type[] { typeof(T), typeof(T1), typeof(T2), typeof(T3), typeof(T4) }, GetKeys, DataType));
 }
Example #18
0
 /// <summary>
 ///     获取当前redis服务器的时间
 /// </summary>
 /// <returns>一个包含两个字符串的列表: 第一个字符串是当前时间(以 UNIX 时间戳格式表示),而第二个字符串是当前这一秒钟已经逝去的微秒数。</returns>
 public List <string> Time(RedisCachingProvider db = null)
 {
     db = RedisCachingProvider.GetClient(db);
     return(db.Time());
 }
Example #19
0
 public IList <string> Keys(RedisCachingProvider db = null)
 {
     db = RedisCachingProvider.GetClient(db);
     return(db.Keys((string)DataKey));
 }
Example #20
0
 /// <summary>
 ///     随机获取一个对象
 /// </summary>
 /// <typeparam name="T">对象类型</typeparam>
 /// <returns>对象</returns>
 public T RandKey <T>(RedisCachingProvider db = null)
 {
     db = RedisCachingProvider.GetClient(db);
     return(db.RandomKey <T>());
 }
Example #21
0
 public int Srem <T>(T member, RedisCachingProvider db = null)
 {
     db = RedisCachingProvider.GetClient(db);
     return(db.Srem((string)mDataKey, member, mDataType));
 }
Example #22
0
 public List <T> Smember <T>(RedisCachingProvider db = null)
 {
     db = RedisCachingProvider.GetClient(db);
     return(db.Smember <T>((string)mDataKey, mDataType));
 }
Example #23
0
 public bool Sismember <T>(T member, RedisCachingProvider db = null)
 {
     db = RedisCachingProvider.GetClient(db);
     return(db.Sismember((string)mDataKey, member, mDataType));
 }
Example #24
0
 public int Scard(RedisCachingProvider db = null)
 {
     db = RedisCachingProvider.GetClient(db);
     return(db.Scard((string)mDataKey));
 }
Example #25
0
 public IList <object> Get(Type[] types, RedisCachingProvider db = null)
 {
     db = RedisCachingProvider.GetClient(db);
     return(db.Get(types, GetKeys, DataType));
 }
Example #26
0
 /// <summary>
 ///     返回key所关联
 /// </summary>
 /// <typeparam name="T">对象类型</typeparam>
 /// <returns>对象</returns>
 public T Get <T>(RedisCachingProvider db = null)
 {
     db = RedisCachingProvider.GetClient(db);
     return(db.Get <T>((string)DataKey, DataType));
 }
Example #27
0
        public void SetItem(int index, object value)
        {
            var db = RedisCachingProvider.GetClient(null);

            db.SetListItem((string)mDataKey, index, value, mDataType);
        }
Example #28
0
 public void Clear(RedisCachingProvider db = null)
 {
     db = RedisCachingProvider.GetClient(db);
     db.Delete(mDataKey);
 }
Example #29
0
 /// <summary>
 /// </summary>
 /// <param name="db"></param>
 /// <returns></returns>
 public int TTL(RedisCachingProvider db = null)
 {
     db = RedisCachingProvider.GetClient(db);
     return(db.TTL((string)DataKey));
 }
Example #30
0
 /// <summary>
 ///     设置一个对象
 /// </summary>
 /// <param name="value">对象</param>
 public void Set(object value, RedisCachingProvider db = null)
 {
     db = RedisCachingProvider.GetClient(db);
     db.Set((string)DataKey, value, DataType);
 }
 public void ItemDoesNotExist()
 {
     var cache = new RedisCachingProvider();
     var item = cache.GetItem("ItemDoesNotExist");
     Assert.IsNull(item);
 }
Example #32
0
 /// <summary>
 ///     检查给定 key 是否存在
 /// </summary>
 /// <returns></returns>
 public bool Exists(RedisCachingProvider db = null)
 {
     db = RedisCachingProvider.GetClient(db);
     return(db.Exists((string)DataKey) > 0);
 }
Example #33
0
 /// <summary>
 ///     将 key 改名为 newkey (当 key 和 newkey 相同,或者 key 不存在时,返回一个错误。)
 /// </summary>
 /// <param name="value">对象</param>
 /// <returns></returns>
 public bool Rename(object value, RedisCachingProvider db = null)
 {
     db = RedisCachingProvider.GetClient(db);
     return(db.Rename((string)DataKey, value, DataType));
 }
Example #34
0
 /// <summary>
 ///     设置一个对象
 /// </summary>
 /// <param name="value">对象</param>
 /// <param name="seconds">EX second :设置键的过期时间为 second 秒。 SET key value EX second 效果等同于 SETEX key second value</param>
 /// <param name="milliseconds">
 ///     PX millisecond :设置键的过期时间为 millisecond 毫秒。 SET key value PX millisecond 效果等同于 PSETEX key
 ///     millisecond value
 /// </param>
 /// <param name="ExistSet">是否只在键已经存在时,才对键进行设置操作</param>
 public void Set(object value, long?seconds, long?milliseconds, bool?ExistSet, RedisCachingProvider db = null)
 {
     db = RedisCachingProvider.GetClient(db);
     db.Set((string)DataKey, value, seconds, milliseconds, ExistSet, DataType);
 }
Example #35
0
 public T GetSet <T>(object value, RedisCachingProvider db = null)
 {
     db = RedisCachingProvider.GetClient(db);
     return(db.GetSet <T>((string)DataKey, value, DataType));
 }
Example #36
0
 static InitRedis()
 {
     RedisClient = RedisCachingProvider.DefaultDB;
 }