Memory Limited Persistent Message Queue

我一直在寻找一种已经现成的持久化方案,类似消息队列,我只要将持久化的任务扔给它,它就能很快速的进行持久化(可能是并行),
然后当我要读出消息的时候,有一部分已经加载在内存中,这样可以提高取数据的速度,和redis有点像只可惜它全在内存和磁盘。
在这里小记一下,高人知道的话指点下那。

周六参加了perl聚会,和qiang\alex\agent\joe等人一块吃饭,我本不是perl用户,不过还是很喜欢和技术的小团体聚在一块聊聊天,吃吃饭。
清华东门的小胡同内有一家四川人开的小饭店,价格公道,东西也还不错,记得是很早以前一哥们带我去的,已往我都点盖饭,周日去的时候点的米线+小菜,别有一番风味。在五道口,买了一串冰糖葫芦,发现很脏,都没洗,一看就很不专业,上周清明回学校发现,边上的京客隆的糖葫芦店已不在了,有些感伤。回首之前一段时间的心态还是很急燥,为公司的事,为自己的事,这周和qiang们一块吃吃饭,了解一下大家的状况,对自己调整了一下心态,很是有帮助,心不能太恨了,还是得慢慢来。

另:五道口开了家x桔色成人店,我本以为它会有些特色,结果布局很是一般,我只是羞答答的装路过瞟了一眼,hihi.

前两天见杜拉拉的电影宣传,我本是很想看的,杜拉拉的小说12,和姚晨话剧我都看了,不过看了几个片头的花絮,我差不多感爱到,片子想表达的路子(我感觉是穷女+富少,因为我看有台湾的黄立行+老徐,)我暂决定冰封半年再说,不过阿凡达还是不错的,只可惜看的枪板,

另外草草为工作看了两遍论文,有些头绪了

关于“大哥请问一下”这个范式
最近3-4月我在住的附近,晚上9-11点这时间段遇到了5-6次,很奇怪,为什么都是这个时间段,而且突然的小宇宙就爆炸了,
难道是骗子过完年都回来了,原先去年冬天的时候我怎么没遇到,我决定观察一下,一般我见到的是两人一组,有中年+小孩的组合,

看了unix system programming capter 1
以及程序员2007合集下册,
之前我一直断续的买一期现在价格是13.5,我觉得挺不划算的,而且没有系统性,下次我决定买
精华版,内容都以专题的形式组织好了,还便于收藏。
今天再看07年的it事,还是有一些感触的,07年的我,也还是是个迷途小书童,
书中大致讲了以下几上话题
ror & agile
multiple core & concurrency programming & erlang & corcurrine & fire & green thread
soa & saas & visualization & paas & xaas
值得一提的是amazon的paas很有意思,大家在兴趣google一下,我也是才知道,呵呵

邮件很神奇
忽然想到99年那会,刚学会怎么用foxmail配置pop3,smtp时,试着给新浪的服务部门发邮件咨询问题,很是激动,大学里也没有怎么用邮件,是之后的几年用起来频繁了。


posted on 2010-04-12 10:39  lexus 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lexus/archive/2010/04/12/1710015.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Golang 中使用 `github.com/streadway/amqp` 包发布消息时,可以使用 `amqp.Publishing` 结构体的 `DeliveryMode` 属性来设置消息的持久化属性。将 `DeliveryMode` 设置为 `amqp.Persistent`,表示该消息是持久化消息。示例代码如下: ```go package main import ( "fmt" "log" "github.com/streadway/amqp" ) func main() { // 连接 RabbitMQ 服务器 conn, err := amqp.Dial("amqp://guest:guest@localhost:5672/") if err != nil { log.Fatalf("Failed to connect to RabbitMQ: %v", err) } defer conn.Close() // 创建 channel ch, err := conn.Channel() if err != nil { log.Fatalf("Failed to open a channel: %v", err) } defer ch.Close() // 声明队列 q, err := ch.QueueDeclare( "hello", // 队列名称 true, // 队列持久化 false, // 不自动删除队列 false, // 不排他队列 false, // 不等待队列在创建时可用 nil, // 额外的参数 ) if err != nil { log.Fatalf("Failed to declare a queue: %v", err) } // 发布消息 body := "Hello, world!" err = ch.Publish( "", // exchange q.Name, // routing key true, // 消息持久化 false, // 不立即发送 amqp.Publishing{ ContentType: "text/plain", Body: []byte(body), DeliveryMode: amqp.Persistent, // 设置消息持久化属性 }) if err != nil { log.Fatalf("Failed to publish a message: %v", err) } fmt.Println("Message sent") } ``` 在上面的代码中,我们将 `DeliveryMode` 设置为 `amqp.Persistent`,表示该消息是持久化消息。这样,即使 RabbitMQ 服务器崩溃,也不会丢失这条消息。需要注意的是,`DeliveryMode` 属性只能在发布消息时设置,无法在消费消息时设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值