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语言中联合体union的使用

本文编辑整理自: http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=179471 一、前言 “联合体”(union)与“结构体”(struct)有一些相似之处。但两者有本质上的不同。在结构体中,各成员有各自的内存空间, 一个结构变量的总长度是各成员长度之和。而在“联合”中,各成员共享一段内存空间, 一个联合变量

Tolua使用笔记(上)

目录   1.准备工作 2.运行例子 01.HelloWorld:在C#中,创建和销毁Lua虚拟机 和 简单调用。 02.ScriptsFromFile:在C#中,对一个lua文件的执行调用 03.CallLuaFunction:在C#中,对lua函数的操作 04.AccessingLuaVariables:在C#中,对lua变量的操作 05.LuaCoroutine:在Lua中,

Vim使用基础篇

本文内容大部分来自 vimtutor,自带的教程的总结。在终端输入vimtutor 即可进入教程。 先总结一下,然后再分别介绍正常模式,插入模式,和可视模式三种模式下的命令。 目录 看完以后的汇总 1.正常模式(Normal模式) 1.移动光标 2.删除 3.【:】输入符 4.撤销 5.替换 6.重复命令【. ; ,】 7.复制粘贴 8.缩进 2.插入模式 INSERT

【Altium】查找PCB上未连接的网络

【更多软件使用问题请点击亿道电子官方网站】 1、文档目标: PCB设计后期检查中找出没有连接的网络 应用场景:PCB设计后期,需要检查是否所有网络都已连接布线。虽然未连接的网络会有飞线显示,但是由于布线后期整板布线密度较高,虚连,断连的网络用肉眼难以轻易发现。用DRC检查也可以找出未连接的网络,如果PCB中DRC问题较多,查找起来就不是很方便。使用PCB Filter面板来达成目的相比DRC

Java面试题:通过实例说明内连接、左外连接和右外连接的区别

在 SQL 中,连接(JOIN)用于在多个表之间组合行。最常用的连接类型是内连接(INNER JOIN)、左外连接(LEFT OUTER JOIN)和右外连接(RIGHT OUTER JOIN)。它们的主要区别在于它们如何处理表之间的匹配和不匹配行。下面是每种连接的详细说明和示例。 表示例 假设有两个表:Customers 和 Orders。 Customers CustomerIDCus

Lipowerline5.0 雷达电力应用软件下载使用

1.配网数据处理分析 针对配网线路点云数据,优化了分类算法,支持杆塔、导线、交跨线、建筑物、地面点和其他线路的自动分类;一键生成危险点报告和交跨报告;还能生成点云数据采集航线和自主巡检航线。 获取软件安装包联系邮箱:2895356150@qq.com,资源源于网络,本介绍用于学习使用,如有侵权请您联系删除! 2.新增快速版,简洁易上手 支持快速版和专业版切换使用,快速版界面简洁,保留主

如何免费的去使用connectedpapers?

免费使用connectedpapers 1. 打开谷歌浏览器2. 按住ctrl+shift+N,进入无痕模式3. 不需要登录(也就是访客模式)4. 两次用完,关闭无痕模式(继续重复步骤 2 - 4) 1. 打开谷歌浏览器 2. 按住ctrl+shift+N,进入无痕模式 输入网址:https://www.connectedpapers.com/ 3. 不需要登录(也就是

Windows/macOS/Linux 安装 Redis 和 Redis Desktop Manager 可视化工具

本文所有安装都在macOS High Sierra 10.13.4进行,Windows安装相对容易些,Linux安装与macOS类似,文中会做区分讲解 1. Redis安装 1.下载Redis https://redis.io/download 把下载的源码更名为redis-4.0.9-source,我喜欢跟maven、Tomcat放在一起,就放到/Users/zhan/Documents

Toolbar+DrawerLayout使用详情结合网络各大神

最近也想搞下toolbar+drawerlayout的使用。结合网络上各大神的杰作,我把大部分的内容效果都完成了遍。现在记录下各个功能效果的实现以及一些细节注意点。 这图弹出两个菜单内容都是仿QQ界面的选项。左边一个是drawerlayout的弹窗。右边是toolbar的popup弹窗。 开始实现步骤详情: 1.创建toolbar布局跟drawerlayout布局 <?xml vers

C#中,decimal类型使用

在Microsoft SQL Server中numeric类型,在C#中使用的时候,需要用decimal类型与其对应,不能使用int等类型。 SQL:numeric C#:decimal