예제 #1
0
        public void FetchDb()
        {
            var keyStoreLength = _db.ListLength(_redisKeyStoreKey);

            for (var i = 0; i < keyStoreLength; i++)
            {
                var key   = _db.ListRightPop(_redisKeyStoreKey).ToString();
                var queue = new RedisQueue <T>(key, _db.ListLength(key));
                _queues.Add(key, queue);
                _db.ListLeftPush(_redisKeyStoreKey, key);
            }
        }
예제 #2
0
        public RedisKey TryInitNewQueue(string name)
        {
            if (_queues.ContainsKey(name))
            {
                return(name);
            }
            var newQueue = new RedisQueue <T>(name);

            _queues.Add(name, newQueue);
            _db.ListLeftPush(_redisKeyStoreKey, name);

            return(name);
        }