当前位置: 首页 > news >正文

墙内千兆网站怎么做建网站 服务器

墙内千兆网站怎么做,建网站 服务器,深圳网站建设公司佰达,用网上的文章做网站行吗〇、redis 配置 1、概况 本文基于 Ubuntu20.04 云服务器配置Redis,且在本地进行 Redis 测试。 2、目录概况 一、配置文件 位于 /config/app.yml 中,目的用于 Redis 初始化: redis:addr: "39.104.**.28:6379"password: "p…

〇、redis 配置

1、概况

本文基于 Ubuntu20.04 云服务器配置Redis,且在本地进行 Redis 测试。

2、目录概况

在这里插入图片描述

一、配置文件

位于 /config/app.yml 中,目的用于 Redis 初始化:

redis:addr: "39.104.**.28:6379"password: "password"DB: 0poolSize: 30minIdleConn: 30

二、main 文件

package mainimport ("ChatTest/router""ChatTest/utils""github.com/gin-gonic/gin"
)func main() {utils.InitConfig()utils.InitRedis()r := gin.Default()r = router.Router()r.Run(":8000")
}

二、初始化文件

位于 /utils/system_init.go 文件中,目的用于初始化相关:

package utilsimport ("fmt""github.com/go-redis/redis/v8""github.com/spf13/viper"
)var (Red *redis.Client
)// 初始化初始化文件func InitConfig() {viper.SetConfigName("app")viper.AddConfigPath("/Users/luliang/GoLand/ChatTest/config") //带绝对路径err := viper.ReadInConfig()if err != nil {fmt.Println(err)}
}// 初始化 Redisfunc InitRedis() {Red = redis.NewClient(&redis.Options{Addr:         viper.GetString("redis.addr"),Password:     viper.GetString("redis.password"),DB:           viper.GetInt("redis.DB"),PoolSize:     viper.GetInt("redis.minIdleConn"),MinIdleConns: viper.GetInt("redis.minIdleConn"),})fmt.Println("config Redis:", viper.Get("redis"))
}

三、路由文件

路由文件位于 /router/app.go 中,目的是建立路由:

package routerimport ("ChatTest/service""github.com/gin-gonic/gin"
)func Router() *gin.Engine {r := gin.Default()r.GET("/send", service.SendMsg)r.GET("/recv", service.RecvMsg)return r
}

四、实现服务

位于/service/message.go中,是 HandlerFunc,且实现服务:

package serviceimport ("ChatTest/utils""context""github.com/gin-gonic/gin"
)func SendMsg(c *gin.Context) {cmd := utils.Red.Publish(context.Background(), "myRedis", "Hello, MyRedis0001!")if cmd != nil {c.JSON(200, gin.H{"code":    0,"message": "发送成功!",})return}c.JSON(200, gin.H{"code":    -1,"message": "发送失败!",})}func RecvMsg(c *gin.Context) {pubSub := utils.Red.Subscribe(context.Background(), "myRedis")defer pubSub.Close()ch := pubSub.Channel()for msg := range ch {c.JSON(200, gin.H{"code":    0,"message": msg.Payload,})// 根据业务逻辑决定是否终止循环并返回响应return}// 如果没有接收到消息,可以根据需要返回响应c.JSON(200, gin.H{"code":    -1,"message": "接受失败!",})
}

五、运行流程

这里面的核心就是Redis 的连接,以及在 Redis 中发布消息和订阅消息了。

1、消息的发布

cmd := utils.Red.Publish(context.Background(), "myRedis", "Hello, MyRedis0001!")

调用Publish() 函数发布一条消息,这个 Publish() 是 go-redis中封装好的方法。

2、消息的订阅

pubSub := utils.Red.Subscribe(context.Background(), "myRedis")

可以看到,go-redis 中使用消息的订阅和发布功能,可以使得消息发送和接受的过程异常简单!

全文完,感谢阅读!

http://www.yayakq.cn/news/366446/

相关文章:

  • 网站板块策划手机网站建设模板
  • 网站百度未收录商桥安装显示一站式推广平台
  • 万网建站流程萝岗微网站建设
  • 通用模板做的网站不收录建站程序的作用
  • 什么网站做视频最赚钱动漫制作专业属于艺术类吗
  • 做特产网站的原因信息公开 强化网站建设
  • 注册域名查询网站系统开发环境有哪些
  • 宁波市奉化区建设局网站公司图案设计
  • 音乐类网站页面设计特点爱站权重是怎么计算的
  • a市最牛的网站广州住建部官网
  • 微信小程序开发技术贺州seo
  • html制作音乐网站代码个人如何免费建网站
  • 买了一个域名怎么做网站vue企业门户网站模板
  • 做网站设计的公司有哪些电商网站的二级怎么做
  • 网站设计风格有几种纯英文网站建设
  • 做网站代码保密协议虹口免费网站制作
  • 创建一个网站流程图河南seo网站策划
  • 宿州医疗网站建设淮南网站建设费用
  • 做商贸网站wordpress适合建什么网站吗
  • 厦门谁需要网站建设网站seo入门基础教程
  • html网站代码三维建模
  • 乐山电商网站开发百度付费推广的费用
  • 测词汇量的专业网站做网站为什么需要服务器
  • 湛江住房和城乡建设局网站桂林生活网论坛
  • 标准网站是哪个wordpress 题库
  • 东莞网站建设推广公司wordpress清除缓存
  • 做会员卡网站福州网站建设企业
  • 做网站用什么牌子电脑下班后做兼职任务网站
  • 网站 文本编辑器淄博专业网站建设价格
  • 广告推广平台网站厦门做手机网站公司