Go操作Redis

jopen 9年前發布 | 17K 次閱讀 Redis NoSQL數據庫

 

Start

在SF文章中,關于PHP,python操作redis的文章已經很多了。可是少了go對redis的操作。最近也是剛開始學Go,由于對redis的偏愛,也順便學習了一下,并總結下來。

Go-Redis包管理

  • 很明顯,我們Go是沒有這個包的,那么我們可以利用GO的命令。首先我們得先配置GOPATH的路徑,我選擇的是/data/go/goSource作為我包的路徑,所以shell執行如下

    export GOPATH=/data/go/goSource
  • go get github.com/alphazero/Go-Redis這樣就載下了Go-Redis包了

代碼驗證

  • 確認redis服務已經開啟

  • redis.conf注意bind ip 確認可以被連接

  • code

package main
import (
  "fmt"
  "github.com/alphazero/Go-Redis"
)
func main() {
  //DefaultSpec()創建一個連接
  //選擇host,若需要auth,則password填寫
  //spec        := redis.DefaultSpec().Host("192.168.1.111").Db(0).Password("");
  //若連接的本機redis-server,則host可以省略
  spec      := redis.DefaultSpec().Db(0).Password("");
  client, err := redis.NewSynchClientWithSpec (spec);
  if err != nil {
    fmt.Println("Connect redis server fail")
    return
  }
  dbkey := "test";
  value :=[]byte("Hello world!");
  client.Set(dbkey, value);
  getValue ,err:= client.Get(dbkey);
  if err != nil {
    fmt.Println("Get Key fail")
    return
  } else {
    str := string(getValue);
    fmt.Println(str);
  }
}

總結

我們不難發現,存到redis,是byte,取的值也是byte。用的時候,需要做相關轉換。當然今天寫的比較少,只是基礎的String ,其他數據類型操作,亦是如此,大家自己去自行探究。

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