Gin和Iris等Web框架及redis与go的连接使用

2024-03-04 14:38

本文主要是介绍Gin和Iris等Web框架及redis与go的连接使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

参考链接
首先安装go
然后配置环境变量

Windows

修改环境变量和网络代理
前面两句相当于修改环境变量中的参数,然后才能下载。
版本为go1.13以后似乎才有效

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
go get -u github.com/gin-gonic/gin
go get github.com/kataras/iris/

Linux

export是linux下的命令

export GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct
go get -u github.com/gin-gonic/gin
go get github.com/kataras/iris/

Gin服务器

package mainimport ("github.com/gin-gonic/gin""log"
)func main() {r := gin.Default()r.GET("/hello", func(context *gin.Context) {context.Writer.Write([]byte("hello gin!"))})if err:=r.Run(":9898"); err != nil{log.Fatal(err.Error())}
}

浏览器端输入

http://localhost:9898/hello

就可以看到

hello gin!

redisgo

  1. 对set的操作
package main
import ("fmt""github.com/garyburd/redigo/redis"
)func main() {//连接服务器conn, err := redis.Dial("tcp","127.0.0.1:6379")if err != nil {fmt.Println("redis.Dial err=", err)return}//连接成功fmt.Println("connect success!")//set操作_,err = conn.Do("set","name","ming")if err!=nil{fmt.Println("set err= ",err)return}fmt.Println("operation success!")//get操作r, err := redis.String(conn.Do("Get","name"))if err!= nil {fmt.Println("get err=", err)return}fmt.Println(r)defer conn.Close()
}
  1. 对hash的操作
package mainimport ("fmt"
"github.com/garyburd/redigo/redis"
)func main() {//连接redis服务器 本地必须事先启动redis服务器conn, err := redis.Dial("tcp","127.0.0.1:6379")if err != nil {fmt.Println("redis.Dial err=", err)return}//向redis中写入数据 HSet_,err = conn.Do("HSet","user1","age",18)if err != nil{fmt.Println("set err=",err)return}//向redis中写入数据 HSet_,err = conn.Do("HSet","user1","name","yaojun")if err != nil{fmt.Println("set err=",err)return}//从redis中获取数据var r stringr,err = redis.String(conn.Do("HGet","user1","name",))if err != nil{fmt.Println("get err=",err)return}fmt.Println("name = ",r)var a inta,err = redis.Int(conn.Do("HGet","user1","age",))if err != nil{fmt.Println("get err=",err)return}fmt.Println("age = ",a)defer conn.Close()
}

Iris服务器

package mainimport ("github.com/kataras/iris""github.com/kataras/iris/context"
)func main() {app := iris.New() // 实例一个iris对象/*app.Get("/hello", func(ctx iris.Context) {//获取路径path := ctx.Path()app.Logger().Info(path)//获取名字username := ctx.URLParam("username")app.Logger().Info(username)//密码pwd := ctx.URLParam("pwd")app.Logger().Info(pwd)//返回html 自动渲染 http://localhost:8080/hello?username=yaojun&pwd=helloworldctx.HTML("<h1>"+username+","+pwd+"</h1>")})*/app.Post("login", func(ctx context.Context){path := ctx.Path()app.Logger().Info("请求url:",path)//postValue获取post提交的表单数据name := ctx.PostValue("name")age:= ctx.PostValue("age")ctx.HTML("<h1>"+name+" , "+age+"</h1>")//ctx.JSON(iris,Map{"massage":"hello"})//读取浏览器传来的json 使用readJSON()//读取浏览器传来的XML  使用readXML()})app.Run(iris.Addr(":8080"),iris.WithCharset("UTF-8"))}

这篇关于Gin和Iris等Web框架及redis与go的连接使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/773509

相关文章

C/C++ chrono简单使用场景示例详解

《C/C++chrono简单使用场景示例详解》:本文主要介绍C/C++chrono简单使用场景示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录chrono使用场景举例1 输出格式化字符串chrono使用场景China编程举例1 输出格式化字符串示

MySQL 表的内外连接案例详解

《MySQL表的内外连接案例详解》本文给大家介绍MySQL表的内外连接,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录表的内外连接(重点)内连接外连接表的内外连接(重点)内连接内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我

Python验证码识别方式(使用pytesseract库)

《Python验证码识别方式(使用pytesseract库)》:本文主要介绍Python验证码识别方式(使用pytesseract库),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录1、安装Tesseract-OCR2、在python中使用3、本地图片识别4、结合playwrigh

Python使用Code2flow将代码转化为流程图的操作教程

《Python使用Code2flow将代码转化为流程图的操作教程》Code2flow是一款开源工具,能够将代码自动转换为流程图,该工具对于代码审查、调试和理解大型代码库非常有用,在这篇博客中,我们将深... 目录引言1nVflRA、为什么选择 Code2flow?2、安装 Code2flow3、基本功能演示

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

C++类和对象之默认成员函数的使用解读

《C++类和对象之默认成员函数的使用解读》:本文主要介绍C++类和对象之默认成员函数的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、默认成员函数有哪些二、各默认成员函数详解默认构造函数析构函数拷贝构造函数拷贝赋值运算符三、默认成员函数的注意事项总结一

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

Linux基础命令@grep、wc、管道符的使用详解

《Linux基础命令@grep、wc、管道符的使用详解》:本文主要介绍Linux基础命令@grep、wc、管道符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录grep概念语法作用演示一演示二演示三,带选项 -nwc概念语法作用wc,不带选项-c,统计字节数-

SpringCloud中的@FeignClient注解使用详解

《SpringCloud中的@FeignClient注解使用详解》在SpringCloud中使用Feign进行服务间的调用时,通常会使用@FeignClient注解来标记Feign客户端接口,这篇文章... 在Spring Cloud中使用Feign进行服务间的调用时,通常会使用@FeignClient注解