亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Golang > 正文

Go語言開發中redis的使用詳解

2020-04-01 18:55:45
字體:
來源:轉載
供稿:網友

前段時間因為忙一些其它的事情,分享的有些少,最近學習一下redis在Go語言開發中的應用。

一、理論知識

Redis是一個開源的、使用C語言編寫的、支持網絡交互的、可基于內存也可持久化的Key-Value數據庫。

Redis 優勢

性能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。

豐富的數據類型 – Redis支持二進制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 數據類型操作。

原子 – Redis的所有操作都是原子性的,同時Redis還支持對幾個操作全并后的原子性執行。

豐富的特性 – Redis還支持 publish/subscribe, 通知, key 過期等等特性。

Redis與其他key-value存儲有什么不同?

Redis有著更為復雜的數據結構并且提供對他們的原子性操作,這是一個不同于其他數據庫的進化路徑。Redis的數據類型都是基于基本數據結構的同時對程序員透明,無需進行額外的抽象。

Redis運行在內存中但是可以持久化到磁盤,所以在對不同數據集進行高速讀寫時需要權衡內存,因為數據量不能大于硬件內存。在內存數據庫方面的另一個優點是,相比在磁盤上相同的復雜的數據結構,在內存中操作起來非常簡單,這樣Redis可以做很多內部復雜性很強的事情。同時,在磁盤格式方面他們是緊湊的以追加的方式產生的,因為他們并不需要進行隨機訪問。

二、使用:

在開發過程中我們使用到了開源庫redis如下

github地址

https://github.com/garyburd/redigo

文檔地址:

http://godoc.org/github.com/garyburd/redigo/redis

1、數據庫的連接

func connDB() (c redis.Conn, err error) {  db, err := redis.Dial("tcp", "127.0.0.1:6379")  if err != nil {    fmt.Println("Connect to redis error", err)    return  }  return db, err}

2、寫入

func saveToDB(c redis.Conn) {  _, err := c.Do("SET", "name", "qiuqiu", "EX", "50")  if err != nil {    fmt.Println("redis set failed:", err)  } else {    fmt.Println("save success")  }}//批量寫入_, err := c.Do("MSET", "name", "superWang", "SEX", "F", "EX", "50")  if err != nil {    fmt.Println("redis set failed:", err)  } else {    fmt.Println("save success")  }//tips:EX是這個值的過期時間

3、讀取

func readFromDB(c redis.Conn) {  username, err := redis.String(c.Do("GET", "name"))  if err != nil {    fmt.Println("redis get failed:", err)  } else {    fmt.Printf("Get mykey: %v /n", username)  }}//批量讀取func readFromDB(c redis.Conn) {  username, err := redis.Strings(c.Do("MGET", "SEX", "name"))  if err != nil {    fmt.Println("redis get failed:", err)  } else {    fmt.Printf("Get mykey: %v /n", username)  }}

4、刪除

func delFromDB(c redis.Conn) {  _, err := c.Do("DEL", "name", "SEX")  if err != nil {    fmt.Println("redis delete failed:", err)  } else {    fmt.Println("delete success")  }}

5、設置keys 過期時間

在寫入的時候如果設置了EX的時間,則當前的key過期時間為設置時間,不設置則當前的key永久有效

6、讀寫json到redis

//寫jsonfunc saveJsonDataToDB(c redis.Conn) {  imap := map[string]string{"name": "waiwaigo", "phone": "13498739038"}  value, _ := json.Marshal(imap)  n, err := c.Do("SETNX", "jsonkey", value)  if err != nil {    fmt.Println(err)  }  if n == int64(1) {    fmt.Println("success")  }}//讀jsonfunc readJsonFromDB(c redis.Conn) {  var imapGet map[string]string  valueGet, err := redis.Bytes(c.Do("GET", "jsonkey"))  if err != nil {    fmt.Println(err)  }  errShal := json.Unmarshal(valueGet, &imapGet)  if errShal != nil {    fmt.Println(err)  }  fmt.Println(imapGet["name"])  fmt.Println(imapGet["phone"])}

7、列表操作,存入一組數據

//存列表func saveListToDB(c redis.Conn) {  _, err := c.Do("lpush", "username", "zhangsan")  if err != nil {    fmt.Println("redis set failed:", err)  }  _, err = c.Do("lpush", "username", "lisi")  if err != nil {    fmt.Println("redis set failed:", err)  }  _, err = c.Do("lpush", "username", "wangwu")  if err != nil {    fmt.Println("redis set failed:", err)  }}//讀列表func readListFromDB(c redis.Conn) {  values, _ := redis.Values(c.Do("lrange", "username", "0", "2"))  fmt.Printf("count%d", len(values))  for _, v := range values {    fmt.Println(string(v.([]byte)))  }}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品成人免费| 91网站在线免费观看| 色琪琪综合男人的天堂aⅴ视频| 69影院欧美专区视频| 欧美日韩在线另类| 日韩在线观看网站| 亚洲a区在线视频| 亚洲欧美色图片| 欧美电影免费观看电视剧大全| 欧美精品在线看| 欧美限制级电影在线观看| 国产va免费精品高清在线| 色琪琪综合男人的天堂aⅴ视频| 欧美日韩亚洲一区二区三区| 国产精品igao视频| 欧美大肥婆大肥bbbbb| 成人av在线天堂| 国产xxx69麻豆国语对白| 欧美老女人xx| 九九热r在线视频精品| 久久视频在线播放| 欧美高清电影在线看| 国产精品夫妻激情| 国产精品久久久亚洲| 一区二区三区国产在线观看| 日韩中文字幕在线观看| 国产欧美精品va在线观看| 亚洲女同性videos| 51午夜精品视频| 日韩欧美精品免费在线| 亚洲人成绝费网站色www| 视频在线观看一区二区| 国产亚洲精品一区二555| 中文字幕欧美专区| 91免费在线视频网站| 精品日韩视频在线观看| 国产成人精品久久二区二区91| 欧美美最猛性xxxxxx| 日韩一区视频在线| 欧美高跟鞋交xxxxxhd| 久久免费视频在线| 91精品综合视频| 国产精品一区二区三区久久久| 欧美一级片一区| 日本韩国欧美精品大片卡二| 亚洲色图17p| 日韩一区二区久久久| 国a精品视频大全| 欧美与黑人午夜性猛交久久久| 日韩av成人在线| 国产精品久久久久久av福利| 亚洲综合视频1区| 亚洲福利在线视频| 日韩电影免费观看在线观看| 欧美日本在线视频中文字字幕| 福利精品视频在线| 久久人人97超碰精品888| 国产精品视频26uuu| 国产精品激情自拍| 欧美乱大交做爰xxxⅹ性3| 在线观看日韩视频| 色婷婷久久av| 亚洲电影免费观看高清| 国产一级揄自揄精品视频| 国产精品美女免费| 午夜精品国产精品大乳美女| 国产精品美女主播在线观看纯欲| 亚洲激情在线观看| 国产精品久久久久久久久借妻| 成人精品一区二区三区电影免费| 欧美日韩亚洲系列| 亚洲激情在线观看视频免费| 久久久国产精品免费| 5566成人精品视频免费| 欧美午夜女人视频在线| 92版电视剧仙鹤神针在线观看| 亚洲精品自拍偷拍| 欧美激情综合亚洲一二区| 久久亚洲一区二区三区四区五区高| 欧美激情第6页| 国产在线精品自拍| 在线视频日本亚洲性| 亚洲国产精品人人爽夜夜爽| 色综合久久悠悠| 亚洲高清免费观看高清完整版| 欧美一区二区三区免费视| 亚洲成人999| 国产午夜精品一区二区三区| 欧美大片免费观看在线观看网站推荐| 欧美亚洲伦理www| 国产精品露脸av在线| 日韩成人av在线| 久久99久久99精品中文字幕| 欧美亚洲国产日韩2020| 亚洲自拍偷拍在线| 欧美尺度大的性做爰视频| 日本亚洲欧洲色α| 亚洲男人7777| 国内精品视频久久| 欧美激情视频播放| 欧美成人高清视频| 美女视频黄免费的亚洲男人天堂| 国产日韩欧美中文| 精品日韩美女的视频高清| 国产精品欧美日韩久久| 国产精品成人av在线| 日韩在线观看免费全集电视剧网站| 2019中文在线观看| 亚洲 日韩 国产第一| 亚洲色图15p| 国产福利精品在线| 亚洲第一区第二区| 亚洲影院污污.| 91精品综合视频| 亚洲成人av片在线观看| 欧美大全免费观看电视剧大泉洋| 精品丝袜一区二区三区| 久久精视频免费在线久久完整在线看| 好吊成人免视频| 日韩视频亚洲视频| 久久精品视频导航| 中文字幕不卡av| 亚洲成人网在线观看| 欧美老女人www| 亚洲iv一区二区三区| 国产精品久久久久久超碰| 亚洲欧美成人网| 日本中文字幕久久看| 亚洲色图国产精品| 欧美在线欧美在线| 9.1国产丝袜在线观看| 日韩在线视频播放| 欧美一级视频免费在线观看| 亚洲国产一区二区三区四区| 日本成熟性欧美| 成人欧美一区二区三区黑人孕妇| 欧洲亚洲女同hd| 欧美怡春院一区二区三区| 久久久亚洲福利精品午夜| 欧美性色19p| 亚洲精品电影网在线观看| 精品国产美女在线| 久久久免费电影| 久久久国产影院| 欧美成人性生活| 久久久久中文字幕2018| 亚洲最大福利视频| 亚洲视频一区二区三区| 国产精品v片在线观看不卡| 97av在线影院| 午夜美女久久久久爽久久| 亚洲精品久久久久国产| 97涩涩爰在线观看亚洲| 波霸ol色综合久久| 国产成人精品亚洲精品| 国a精品视频大全| 精品中文视频在线| 久久久久久久久爱| 亚洲人成网站色ww在线| 日韩精品中文字幕久久臀| 久久亚洲精品成人| 欧美老肥婆性猛交视频| 亚洲xxxx视频| 热久久视久久精品18亚洲精品|