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

湖北省建设厅网站怎么建设网站服务器

湖北省建设厅网站,怎么建设网站服务器,wordpress移动页面插件,网站建设一般多少功能#xff1a;这里主要编写一个接口#xff0c;将其json 数据存入对应的redis队列中#xff0c;并统计每天的每小时请求数量 环境#xff1a; go version go1.22.0 linux/amd64 平台 linux X64 步骤一 新建目录 命令如下#xff1a; mkdir FormData 步骤二 新增…功能这里主要编写一个接口将其json 数据存入对应的redis队列中并统计每天的每小时请求数量 环境 go version go1.22.0 linux/amd64 平台  linux X64 步骤一  新建目录  命令如下 mkdir FormData 步骤二 新增配置文件config.yaml   内容如下 #开启的端口 server:port: 8082# 存储数据数据 redis_mq:host: 127.0.0.1port: 6379password:db: 2queue_key_name: data_listredis_count:host: 127.0.0.1port: 6379password:db: 2 步骤三 编写主要逻辑  main.go 内容如下 package mainimport (fmtgithub.com/gin-gonic/gingithub.com/go-redis/redisgopkg.in/yaml.v3io/ioutillogstrconvsynctime )var (redisClient *redis.ClientredisCountClient *redis.Clientmutex sync.Mutexwg sync.WaitGroup )func main() {// 初始化 Redis 连接config, err : loadConfig(config.yaml)if err ! nil {log.Fatal(err)}// fmt.Printf(%v, config)//}dbnum, err : strconv.Atoi(config[redis_mq][db])if err ! nil {fmt.Println(转换失败:, err)return}redisClient redis.NewClient(redis.Options{Addr: config[redis_mq][host] : config[redis_mq][port],Password: config[redis_mq][password],DB: dbnum,PoolSize: 50,})countdbnum, err : strconv.Atoi(config[redis_count][db])if err ! nil {fmt.Println(转换失败:, err)return}redisCountClient redis.NewClient(redis.Options{Addr: config[redis_count][host] : config[redis_count][port],Password: config[redis_count][password],DB: countdbnum,PoolSize: 50,})// 初始化 Gin 框架router : gin.Default()// 定义接口路由router.POST(/pushData, func(c *gin.Context) {pushData(c, config)})router.GET(/pushData, func(c *gin.Context) {pushData(c, config)})// 启动服务router.Run(fmt.Sprintf(:%s, config[server][port])) }func pushData(c *gin.Context, config map[string]map[string]string) {//defer wg.Done()// 获取请求参数// 计数器逻辑paramsJson, err : c.GetRawData()if err ! nil {log.Println(读取数据错误:, err)c.JSON(500, gin.H{status: 500, message: error_data})return}wg.Add(1)go pushtoredis(string(paramsJson), config)//mutex.Lock()// 存储到 Redis//mutex.Unlock()// 返回成功响应c.JSON(200, gin.H{Status: 200, Message: 成功, Data: map[string]string{ShotPendingSize: }}) }func pushtoredis(paramsJson string, config map[string]map[string]string) error {defer wg.Done()now : time.Now()month : now.Month()day : now.Day()hour : now.Hour()err : redisClient.LPush(config[redis_mq][queue_key_name], paramsJson).Err()if err ! nil {log.Println(推入redis错误:, err)return err}countKey : fmt.Sprintf(from_data_%d_%d_%d, month, day, hour)err redisCountClient.Incr(countKey).Err()if err ! nil {log.Println(计数器错误:, err)// 处理计数器错误情况return err}return nil }func loadConfig(filename string) (map[string]map[string]string, error) {// 读取配置文件data, err : ioutil.ReadFile(filename)if err ! nil {return nil, fmt.Errorf(无法读取配置文件: %s, err)}// 解析配置文件var config map[string]map[string]stringerr yaml.Unmarshal(data, config)if err ! nil {return nil, fmt.Errorf(配置文件解析失败: %s, err)}return config, nil } 步骤四 项目初始化 进行依赖 命令如下 go mod init FormData 步骤五  项目所需要的依赖添加到go.mod  命令如下 go mod tidy 步骤六 先运行一下  如果不报错 在进行编译 go run main.gogo build -o for_data # 这里重命名了 步骤七 运行  这里需要主要 端口和redis 相关配置 可以根据实际情况 修改config.yaml 。修改后重新运行即可无需重新编译。命令如下 直接在shell 中 运行命令 ./form_data 若执行不了  请注意相关权限 chmod form_data 步骤八 请求接口验证接口处理是否正常。 打开postman   请求地址 http://127.0.0.1:8082/pushData 可以观察go的后台输出 如下图所示 关注redis  如下图所示
http://www.pierceye.com/news/206540/

相关文章:

  • 优秀网站设计作品大连seo外包
  • 共享空间网站开发公司做网站 最好的开源cms
  • 免费图片素材网seo wordpress主题
  • ipad可以做网站推广吗wordpress主题中文
  • 自己做网站要会什么软件下载wordpress 小工具代码
  • 视频拍摄及制作培训网站优化有什么用
  • 沈阳网站排名公司网站开发专业怎么样
  • 电影院网站建设方案网络维护是什么职业
  • 网站建设需要的公司wordpress考试主题
  • 企业网站管理系统多站多语言版电子书推送网站怎么做
  • 海洋公司做网站推广安阳网站如何做优化
  • 南昌网站开发公司哪家公司好网站建设接单
  • 宁波网站制作哪家强调用wordpress的文章编辑器
  • 在线制作手机网站公司网站建设厂家
  • 在线分析网站一个小外贸公司怎么开
  • 给自己的公司做网站怎么做好电脑手机一体网站
  • 精通网站建设 全能建站密码pdf电商网站设计理念
  • 百度推广建设网站是不是合发手机网站的必要性
  • 企业网站建设是什么实现的物质基础和技术支撑现货交易平台代理
  • 网站建设的描述长沙发布app
  • 好的设计作品网站代理网站建设
  • 做网站的软件m开头网站建设公司问候语
  • 做网站需要工商证吗app软件开发价格
  • 做足球原创短视频网站网站建设永远在路上
  • 做seo为什么要了解网站苏州做网站公司
  • 这几年做哪些网站能致富网站开发账务处理
  • 网站的版权信息做阿里巴巴网站卖货咋样
  • 找项目去哪个网站成都哪里有做网站的公司
  • 网站推广的方法及特点国外专门做童装的网站
  • 企业网站开发模型图wordpress 侧边导航