zoukankan      html  css  js  c++  java
  • Redis 简易消息队列

    为了保持程序的高效,建议使用ProtoBuf.

    Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。

    Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。

    Net中使用也很简单,在NuGet 获取,使用特性标记即可,有点类似wcf中的契约.

        [ProtoContract]
        public class TestQuene
        {
    
            [ProtoMember(1)]
            public int Id
            {
                get;
                set;
            }

    简单的队列队列入队与出队测试,效果还不错.

           for (int i = 0; i < 100; i++)
                {
                    MemoryStream xmlw = new MemoryStream();
                    TestQuene TempTest = new TestQuene() { Id = i, data = new List<string>(new string[] { "1", "2", "3" }) };
                    Serializer.Serialize<TestQuene>(xmlw, TempTest);
                    message = Convert.ToBase64String(xmlw.ToArray());
                    Console.WriteLine("EnqueueItemOnList=" + message);
                    redis.EnqueueItemOnList("MessageQuene", message);
                }
          ThreadPool.UnsafeQueueUserWorkItem(o =>
                {
                    while (true)
                    {
                        try
                        {
                            MemoryStream ms = new MemoryStream(Convert.FromBase64String(redis.BlockingPopItemFromList("MessageQuene", TimeSpan.FromHours(2))));
    
                            Console.WriteLine("while=" + Serializer.Deserialize<TestQuene>(ms));
                        }
                        catch (Exception ex)
                        {
                            Debug.WriteLine(ex.ToString());
                        }
                    }
                }, null);
  • 相关阅读:
    Shell基础:变量类型 & 运算符
    Ant基础入门
    Shell基础:Shell和Mysql交互
    Linux配置邮箱发送(MUTT/MSMTPQ)
    [转载]JMeter源码导入Eclipse
    [转载]Badboy使用教程
    工程目录 Java/Web/Maven
    Maven基础知识和环境搭建
    Github/Eclipse管理Maven项目
    Git分支管理详解
  • 原文地址:https://www.cnblogs.com/CoreXin/p/Redis.html
Copyright © 2011-2022 走看看