小编Joe*_*Joe的帖子

LevelDB是否支持热备份(或等效)?

目前我们正在评估几个关键+值数据存储,以替换owr主应用程序当前使用的旧isam(20年左右!)......

问题是我们当前的isam不支持崩溃恢复.

所以LevelDB似乎对我们好(也检查BerkleyDB等)

但是我们遇到了热备份的问题,并且鉴于LevelDB是一个库,而不是服务器,要求"热备份"是很奇怪的,因为它直观地暗示了外部备份过程.

也许有人想提出选择(或已知的解决方案)?

例如: - 通过主要应用程序的内部线程进行热备份? - 仅通过复制LevelDB数据目录进行热备份?

提前致谢

database leveldb

7
推荐指数
1
解决办法
3448
查看次数

有没有更好的方法来跟踪goroutine响应?

我正试图绕过goroutines.我创建了一个简单的程序,在多个搜索引擎中并行执行相同的搜索.目前为了跟踪回复的数量,我计算了我收到的数字.虽然看起来有点业余.

有没有更好的方法知道我何时收到以下代码中所有goroutine的回复?

package main

import (
    "fmt"
    "net/http"
    "log"
)

type Query struct {
    url string
    status string
}

func search (url string, out chan Query) {
    fmt.Printf("Fetching URL %s\n", url)
    resp, err := http.Get(url)

    if err != nil {
        log.Fatal(err)
    }

    defer resp.Body.Close()

    out <- Query{url, resp.Status}
}

func main() {
    searchTerm := "carrot"

    fmt.Println("Hello world! Searching for ", searchTerm)

    searchEngines := []string{
        "http://www.bing.co.uk/?q=",
        "http://www.google.co.uk/?q=",
        "http://www.yahoo.co.uk/?q="}

    out := make(chan Query)

    for i := 0; i < len(searchEngines); i++ { …
Run Code Online (Sandbox Code Playgroud)

go goroutine

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

标签 统计

database ×1

go ×1

goroutine ×1

leveldb ×1