1. 程式人生 > 資料庫 >使用go來操作redis的方法示例

使用go來操作redis的方法示例

Redis簡單介紹

簡介

關於Redis的討論,其實在現在的後臺開發中已經是個老生常談的問題,基本上也是後端開發面試的基本考察點。其中 Redis的背景介紹和細節說明在這裡就不贅述。不管怎麼介紹,核心在於Redis是一個基於記憶體的key-value的多資料結構儲存,並可以提供持久化服務。基於記憶體的特性決定了Redis天然適合高併發的資料讀寫快取優化,同時也帶來了記憶體開銷過大的問題。所以在一些特定情景下,Redis是一把無往不利的大殺器,值得深入學習。

安裝redis,執行如下go程式碼:

package main
import (
  "time"
  "fmt"
  "github.com/go-redis/redis"
)
var Client *redis.Client
func init() {
  Client = redis.NewClient(&redis.Options{
    Addr:     "127.0.0.1:6379",PoolSize:   1000,ReadTimeout: time.Millisecond * time.Duration(100),WriteTimeout: time.Millisecond * time.Duration(100),IdleTimeout: time.Second * time.Duration(60),})
  _,err := Client.Ping().Result()
  if err != nil {
    panic("init redis error")
  } else {
    fmt.Println("init redis ok")
  }
}
func get(key string) (string,bool) {
  r,err := Client.Get(key).Result()
  if err != nil {
    return "",false
  }
  return r,true
}
func set(key string,val string,expTime int32) {
  Client.Set(key,val,time.Duration(expTime) * time.Second)
}
func main() {
  set("name","x",100)
  s,b := get("name")
  fmt.Println(s,b)
}

結果:

init redis ok
x true

過期時間是100s,過期後,get無法獲取資訊, 返回了nil

簡單, 不多說。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對我們的支援。如果你想了解更多相關內容請檢視下面相關連結