使用go來操作redis的方法示例
阿新 • • 發佈:2020-01-09
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
簡單, 不多說。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對我們的支援。如果你想了解更多相關內容請檢視下面相關連結