ssdb的go驅動:gossdb

jopen 9年前發布 | 10K 次閱讀 gossdb Google Go/Golang開發

gossdb 是 ssdb 的 go 驅動

  • 繼承官方連接方式。已支持超過99%的官方命令。

  • 支持連接池。

  • 已支持 set 相關方法

  • 已支持 hashmap 相關方法

  • 已支持 queue 相關方法

  • 已支持返回值類型轉換,可以方便的把從ssdb中取到的內容轉化為指定類型。

連接池已支持如下參數

  • GetClientTimeout int 獲取連接超時時間,單位為秒,默認為 5

  • MaxPoolSize int 最大連接池個數,默認為 20

  • MinPoolSize int 最小連接池數,默認為 5

  • AcquireIncrement int 當連接池中的連接耗盡的時候一次同時獲取的連接數。默認值: 5

  • MaxIdleTime int 最大空閑時間,指定秒內未使用則連接被丟棄。若為0則永不丟棄。默認值: 0

  • MaxWaitSize int 最大等待數目,當連接池滿后,新建連接將排除等待池中連接釋放,本值限制最大等待的數量。默認值: 1000

  • HealthSecond int 健康檢查時間隔,單位為秒。默認值: 300。通過ping方法維護連接的可用性,并定期回收長期不用的連接。

示例代碼:

pool, err := gossdb.NewPool(&gossdb.Config{
    Host:             "127.0.0.1",
    Port:             6380,
    MinPoolSize:      5,
    MaxPoolSize:      50,
    AcquireIncrement: 5,
})
if err != nil {
    log.Fatal(err)
    return
}


c, err := pool.NewClient()
if err != nil {
    log.Println(err.Error())
    return
}
defer c.Close()
c.Set("test","hello world.")
re, err := c.Get("test")
if err != nil {
    log.Println(err)
} else {
    log.Println(re, "is get")
}
//設置10 秒過期
c.Set("test1",1225,10)
//取出數據,并指定類型為 int
re, err = c.Get("test1")
if err != nil {
    log.Println(err)
} else {
    log.Println(re.Int(), "is get")
}

項目主頁:http://www.baiduhome.net/lib/view/home/1448200447291

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!