Golang连接Redis基本操作
2021/7/19 19:05:36
本文主要是介绍Golang连接Redis基本操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
- 下载redis
- 案例
- 案例一
- 案例二
- 小练习
下载redis
下载相关redis包启用命令:
go get github.com/gomodule/redigo/redis
获取到:
引入:
案例
案例一
通过go,向redis写入数据string[key-val]
package main import ( "fmt" "github.com/gomodule/redigo/redis" //引入redis ) func main() { //通过go向redis写入数据和读取数据 //1.连接到redis conn, err := redis.Dial("tcp", "localhost:6379") if err != nil { fmt.Println("redis.Dial err=", err) return } fmt.Println("conn succ...", conn) defer conn.Close() //关闭... //2.通过go,向redis写入数据string[key-val] _, err = conn.Do("Set", "name", "tomjerry") if err != nil { fmt.Println("set err=", err) return } r, err := redis.String(conn.Do("Get", "name")) if err != nil { fmt.Println("set err=", err) return }//因为返回的r是Interface{} //因为name对应的值是string,因此我们需要转换 fmt.Println("操作ok ",r) }
案例二
通过go,向redis写入数据hash[key-val]
package main import ( "fmt" "github.com/gomodule/redigo/redis" //引入redis ) func main() { //通过go向redis写入数据和读取数据 //1.连接到redis conn, err := redis.Dial("tcp", "localhost:6379") if err != nil { fmt.Println("redis.Dial err=", err) return } // fmt.Println("conn succ...", conn) defer conn.Close() //关闭... //2.通过go,向redis写入数据hash[key-val] _, err = conn.Do("HSet", "user01", "name", "john") if err != nil { fmt.Println("hset err=", err) return } _, err = conn.Do("HSet", "user01", "age", 18) if err != nil { fmt.Println("hset err=", err) return } //2.通过go,向redis读入数据hash[key-val] r1, err := redis.String(conn.Do("HGet", "user01", "name")) if err != nil { fmt.Println("hgetr1 err=", err) return } r2, err := redis.Int(conn.Do("HGet", "user01", "age")) if err != nil { fmt.Println("hgetr2 err=", err) return }//因为返回的r是Interface{} //因为name对应的值是string,因此我们需要转换 fmt.Printf("操作ok r1=%v ,r2=%v", r1, r2) }
小练习
- Monster信息[name, age, skill]
- 通过终端输入三个monster的信息,使用golang操作redis,存放到redis中[用hash数据类型]
- 遍历出所有的Monster信息,并显示在终端
- 保存monster可以使用hash数据类型,遍历时先取出所有的keys,比如keys monster*
package main import ( "fmt" "github.com/gomodule/redigo/redis" //引入redis ) type Monster struct { Name string Age int Skill string } func monsterProcess(name string, age int, skill string) { //连接本地redis conn, err := redis.Dial("tcp", "localhost:6379") if err != nil { fmt.Println("redis.Dial err=", err) return } defer conn.Close() //关闭... _, err = conn.Do("HmSet", "monster", "name", name, "age", age, "skill", skill) //写入redis if err != nil { fmt.Println("hset err=", err) return } r, err := redis.Strings(conn.Do("HMGet", "monster", "name", "age", "skill")) for i, v := range r { fmt.Printf("r[%d]=%v\n",i,v) } } func main() { var monster Monster fmt.Println("请输入姓名:") fmt.Scanln(&monster.Name) fmt.Println("请输入年龄:") fmt.Scanln(&monster.Age) fmt.Println("请输入技能:") fmt.Scanln(&monster.Skill) monsterProcess(monster.Name ,monster.Age, monster.Skill) }
这篇关于Golang连接Redis基本操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-08阿里云Redis项目实战入门教程
- 2024-11-08阿里云Redis资料:新手入门与初级使用指南
- 2024-11-08阿里云Redis教程:新手入门及实用指南
- 2024-11-07阿里云Redis学习入门:新手必读指南
- 2024-11-07阿里云Redis学习入门:从零开始的操作指南
- 2024-11-07阿里云Redis学习:初学者指南
- 2024-11-06阿里云Redis入门教程:轻松搭建与使用指南
- 2024-11-02Redis项目实战:新手入门教程
- 2024-10-22Redis入门教程:轻松掌握数据存储与操作
- 2024-10-22Redis缓存入门教程:快速掌握Redis缓存基础知识