public static bool TryDequeue(string key, out string val)
        {
            if (!IsEnable)
            {
                throw new PlatformNotSupportedException("No Redis enable");
            }
            val = string.Empty;

            if (!RedisDatabase.KeyExists(key))
            {
                return(false);
            }

            //var lockKey = key + "_locker";
            //if (RedisDatabase.KeyExists(lockKey))
            //{
            //    return false;
            //}

            //RedisDatabase.StringSet(lockKey, "true");
            var temp = RedisDatabase.ListRightPop(key);

            //RedisDatabase.KeyDelete(lockKey);

            if (temp.HasValue == false)
            {
                return(false);
            }
            val = temp;


            //val = RedisDatabase.ListRightPop(key);

            return(true);
        }
        public static long QueueLength(string key)
        {
            if (RedisDatabase.KeyExists(key) == false)
            {
                return(0);
            }

            return(RedisDatabase.ListLength(key));
        }
        public static bool QueueHasValue(string key)
        {
            if (!IsEnable)
            {
                throw new PlatformNotSupportedException("No Redis enable");
            }

            if (RedisDatabase.KeyExists(key) == false)
            {
                return(false);
            }

            return(RedisDatabase.ListLength(key) > 0);

            //return RedisDatabase.KeyExists(key);
        }
Пример #4
0
 public bool Exists(string key)
 {
     return(RedisDatabase.KeyExists(key));
 }