Redis 简易消息队列
2024-09-04 20:33:15
为了保持程序的高效,建议使用ProtoBuf.
Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。
Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。
Net中使用也很简单,在NuGet 获取,使用特性标记即可,有点类似wcf中的契约.
[ProtoContract]
public class TestQuene
{ [ProtoMember()]
public int Id
{
get;
set;
}
简单的队列队列入队与出队测试,效果还不错.
for (int i = ; i < ; i++)
{
MemoryStream xmlw = new MemoryStream();
TestQuene TempTest = new TestQuene() { Id = i, data = new List<string>(new string[] { "", "", "" }) };
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()))); Console.WriteLine("while=" + Serializer.Deserialize<TestQuene>(ms));
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
}
}
}, null);
最新文章
- Objective-C 对象(内容根据iOS编程编写)
- Ajax中Get请求与Post请求的区别
- 工作记事 unknownHost
- tomcat启动时 myeclipse控制台中文乱码
- delphi真随机数发生器
- Openwrt Image Builder/SDK 初探
- HDU1695 GCD(莫比乌斯反演)
- ipad iphone 开发的应用,加一个启动预览图片
- ChineseCounter.cs 统计中文文本中常用字占比
- 一般处理程序中使用Session出现未将对象引用设置到对象的实例
- C#_会员管理系统:开发八(权限分配)
- LightOj 1148 Basic Math
- MongoDB基础教程系列--第九篇 MongoDB 分片
- webUI自动化测试框架---”pyswat“介绍
- 队列(存储结构双端链表)--Java实现
- Chris Richardson微服务翻译:微服务介绍
- Haproxy小酌
- ES6 类
- python+selenium三:鼠标事件与键盘事件
- 关于SharedPreferences存储数据的使用方法