StackService.Redis 应用

Posted 逍遥帝君

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了StackService.Redis 应用相关的知识,希望对你有一定的参考价值。

如今StackService.Redis已经转向商业版本。4.0以下的低版本依然免费和开源。

吴双,Redis系列命令拾遗分享  http://www.cnblogs.com/tdws/tag/NoSql/

可以在NuGet中获取StackExchange.Redis类库

        static void Main(string[] args)
        {
            Task.Run(() => SetRedis());
            //GetRedis();
           // Task.Run(() => GetRedis());
            Console.ReadKey();
        }

        /// <summary>
        /// 获取ConnectionMultiplexer
        /// </summary>
        /// <returns></returns>
        public static ConnectionMultiplexer TredisInfo()
        {
            ConfigurationOptions options = new ConfigurationOptions();
            options.EndPoints.Add("xxx.xxx.x.xx:7000");
            options.EndPoints.Add("xxx.xxx.x.xx:7001");
            options.EndPoints.Add("xxx.xxx.x.xx:7002");
            options.EndPoints.Add("xxx.xxx.x.xx:7003");
            options.EndPoints.Add("xxx.xxx.x.xx:7004");
            options.EndPoints.Add("xxx.xxx.x.xx:7005");
            var redisClient = ConnectionMultiplexer.Connect(options);
            return redisClient;
        }

        /// <summary>
        /// 获取redis存储数据
        /// </summary>
        public static void  GetRedis()
        {
            try
            {
                var multiplexer = TredisInfo();
                var client = multiplexer.GetDatabase();
                for (int i = 0; i < 600; i++)
                {
                    var result =  client.StringGet("TCP-" + i);
                    Console.WriteLine(result);
                    Thread.Sleep(10);
                }
                multiplexer.Dispose();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
     
        }

        /// <summary>
        /// 向redis中存入数据
        /// </summary>
        /// <returns></returns>
        public static async Task SetRedis()
        {
            try
            {
                var multiplexer = TredisInfo();
                var client = multiplexer.GetDatabase();
                for (int i = 0; i < 600; i++)
                {
                   await client.StringSetAsync("TCP-" + i, "beijing欢迎你" + i);
                    Thread.Sleep(30);
                }
                multiplexer.Dispose();
                Console.WriteLine("执行完毕");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

        }

注意:redis集群进行大量数据处理时,需要进行线程休息,否则会出去错误

以上是关于StackService.Redis 应用的主要内容,如果未能解决你的问题,请参考以下文章

jQuery应用 代码片段

如何使用 Swift 使用此代码片段为 iOS 应用程序初始化 SDK?

Android获取各个应用程序的缓存文件代码小片段(使用AIDL)

每当我运行我的片段时,这行代码 mapFragment.setRetainInstance(true);正在崩溃我的应用程序? [关闭]

执行代码时有时不显示对话框片段

在选项卡式应用程序中的何处放置位置代码?