简单队列

 

1、后台封装RedisManager

private static readonly string _conn = "192.168.56.2:6379";
static int i = 0;
        static Lazy<ConnectionMultiplexer> lazyConnection = new Lazy<ConnectionMultiplexer>(()=> {
            i++;
            return ConnectionMultiplexer.Connect(_conn);
        });
        public static ConnectionMultiplexer LazyConnection
        {
            get
            {
                return lazyConnection.Value;
            }
        }

 

2、SimpleRedisQueue

public class SimpleRedisQueue
    {
        public void LeftPush(string key,string value)
        {
            var redis = RedisManager.LazyConnection.GetDatabase();
            redis.ListLeftPush(key,value);
        }
        public string RightPop(string key)
        {
            var redis = RedisManager.LazyConnection.GetDatabase();
            return redis.ListRightPop(key);
        }
    }

 3、插入队列

System.Threading.Tasks.Task.Factory.StartNew(() => {
                for(int i = 0; i < 1000000; i++)
                {
                    new SimpleRedisQueue().LeftPush("name",i.ToString());
                }
            });

4、取队列

var queue = new SimpleRedisQueue();
            while (true)
            {
                var v = queue.RightPop("name");
                if(v != null)
                {
                    Console.WriteLine(v);
                }
            }

 

posted @ 2017-03-15 18:04  wjl910  阅读(117)  评论(0)    收藏  举报