小编fze*_*igd的帖子

RabbitMQ:如何使用计数器重新排队消息

有没有办法计算一个工作被重新排队的时间(通过拒绝或Nak)而无需手动重新计算工作?我需要在'n'时间重试一份工作,然后在'n'时间之后放弃它.

ps:目前我手动重新排队作业(删除旧作业,创建具有确切内容的新作业,如果计数器不存在或者值小于'n',则额外的Counter标题)

amqp go rabbitmq

15
推荐指数
2
解决办法
1万
查看次数

golang切片,用切片切片[a:b:c]

我读了切片使用和内部Slice and Effective go#slice但是没有关于切片3像这样的切片:slice[a:b:c]

例如这段代码:

package main

import "fmt"

func main() {
    var s = []string{"a", "b", "c", "d", "e", "f", "g"}
    fmt.Println(s[1:2:6], len(s[1:2:6]), cap(s[1:2:6]))
    fmt.Println(s[1:2:5], len(s[1:2:5]), cap(s[1:2:5]))
    fmt.Println(s[1:2], len(s[1:2]), cap(s[1:2]))

}
Run Code Online (Sandbox Code Playgroud)

去游乐场的结果是这样的:

[b] 1 5
[b] 1 4
[b] 1 6
Run Code Online (Sandbox Code Playgroud)

我可以理解,第三个是关于容量的东西,但这个的确切含义是什么?
我是否会错过文档中的内容?

go slice

8
推荐指数
2
解决办法
5555
查看次数

mongo db --smallfiles切换缺点

我想在我的新项目中使用mongodb.问题是,mongo使用pre-alocate文件:

每个数据文件都预先分配到特定大小.(这样做是为了防止文件系统碎片,以及其他原因.)数据库的第一个文件名是.0,然后是.1等.0将是64MB,.1 128MB等等,最多2GB.一旦文件大小达到2GB,每个连续文件也是2GB.因此,如果最后存在的数据文件是1GB,那么如果最近创建该文件可能是90%为空.

从这里:http://www.mongodb.org/display/DOCS/Excessive+Disk+Space

它的正常情况下有许多2GB文件.有一个--smallfiles开关,将此文件限制为512MB

--smallfiles =>使用较小的初始文件大小(16MB)和最大大小(512MB)

我想知道使用smallfiles对生产有好处吗?它的缺点是什么?

有noprealloc开关,但它的生产不好.但是没有关于小文件的说明.

mongodb

5
推荐指数
1
解决办法
6344
查看次数

标签 统计

go ×2

amqp ×1

mongodb ×1

rabbitmq ×1

slice ×1