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

go语言day21 goland使用gin框架、gorm框架操作mysql数据库redis数据库 使用宝塔创建redis数据库

GORM 指南 | GORM - The fantastic ORM library for Golang, aims to be developer friendly.

gorm package - github.com/jinzhu/gorm - Go Packages

go语言day20实现投票功能项目包-CSDN博客

gin框架标准项目结构:

        models:存放对应实体类和gorm包增删改查方法

        config:mysql和redis的配置信息

                cache:连接redis

                dao:连接mysql

        controller:控制器

        router:路由,用来设置访问路径和调用对应controller方法。 

        

         配置mysql数据库:

 

 

         使用宝塔配置redis服务器:

云服务器-宝塔安装-Redis_宝塔redis-CSDN博客

        1)下载宝塔

宝塔面板 - 简单好用的Linux/Windows服务器运维管理面板 (bt.cn)

        2)进入软件商店下载redis

        3)设置redis的相关配置,这里不需要密码

        4)配置端口号,重启redis

 配置redis数据库:

 

mysql数据库字段:

        活动表:activity

        参赛选手表:player

        用户表:user

        投票详情:vote

 实现一个查询业务:

        redis缓存服务器主要用来实现缓解mysql数据库访问压力。这里实现一个查询所有参赛选手的业务需求,也就是控制器接收活动aid,根据aid查询并返回player表的对应aid的所有players信息。

        controller层具体操作是:

               定义活动名,作为键key。

               先从redis数据库中查找key相应值

               查找到了正确的value活动信息,从数据库中根据value中的id查询每个选手的详细信息。

               如果在redis数据库中没有活动对应的value值信息,或者就没有key。去mysql数据库查询活动需要的信息:该活动aid 对应的所有参赛选手的id然后去redis数据库添加缓存信

息.

   

      moudel层要实现查询mysql数据库:       

gorm package - github.com/jinzhu/gorm - Go Packages

               这里的mysql连接对象dao.Db调用的增删改查方法默认封装了事务处理,并且会根据实体类Player的TableName()方法返回值确定查询的实体类对应的表名

       

        发送一个post请求aid=1:

         查看redis数据库:

        这里的值加密了,使用可视化工具连接redis数据库

使用宝塔在服务器上配置Redis_宝塔配置redis-CSDN博客(linux)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • NIO专题学习(一)
  • 计算右侧小于当前元素的个数
  • 【C++】—— 类与对象(二)
  • [Git][认识Git]详细讲解
  • 【启明智显分享】适用于多功能养生壶、茶吧机的2.8寸触摸彩屏解决方案
  • uni-app封装组件实现下方滑动弹出模态框
  • NeRF学习——复现训练中的问题记录
  • 【全国大学生电子设计竞赛】2022年E题
  • TCP Analysis Flags 之 TCP Window Full
  • 解决 Vue 页面中地址栏参数变更不刷新的问题
  • react防抖和节流hooks封装
  • Hystrix 线程池策略时使用ThreadLocal
  • 【LeetCode】219.存在重复元素II
  • STM32卡死、跑飞如何调试确定问题
  • CMD运行指令
  • 分享一款快速APP功能测试工具
  • CSS相对定位
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • input实现文字超出省略号功能
  • js继承的实现方法
  • linux安装openssl、swoole等扩展的具体步骤
  • nginx 负载服务器优化
  • Odoo domain写法及运用
  • php中curl和soap方式请求服务超时问题
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • TCP拥塞控制
  • 阿里云爬虫风险管理产品商业化,为云端流量保驾护航
  • 从setTimeout-setInterval看JS线程
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 开源地图数据可视化库——mapnik
  • 前言-如何学习区块链
  • 小程序 setData 学问多
  • Hibernate主键生成策略及选择
  • 移动端高清、多屏适配方案
  • 整理一些计算机基础知识!
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • ​业务双活的数据切换思路设计(下)
  • # Redis 入门到精通(一)数据类型(4)
  • #pragam once 和 #ifndef 预编译头
  • #预处理和函数的对比以及条件编译
  • (C#)if (this == null)?你在逗我,this 怎么可能为 null!用 IL 编译和反编译看穿一切
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (第9篇)大数据的的超级应用——数据挖掘-推荐系统
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (十六)Flask之蓝图
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (转)iOS字体
  • (转)ORM
  • (转)Sublime Text3配置Lua运行环境
  • (自用)gtest单元测试
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .net core docker部署教程和细节问题