go语言day21 goland使用gin框架、gorm框架操作mysql数据库redis数据库 使用宝塔创建redis数据库 写一个投票项目

news2024/11/16 3:39:07

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

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

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

基于Redis的有序集合Sorted Sets优化排行榜功能_哔哩哔哩_bilibili

 

 安装gorm框架

go get -u gorm.io/gorm
go get -u gorm.io/driver/sqlite

 

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)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

快建屋:革新传统的气膜建筑—轻空间

在建筑行业中,传统建筑方式往往受到施工周期长、成本高、环境影响大等问题的困扰。然而,随着科技的发展和人们对灵活、环保建筑需求的增加,一种全新的建筑形式——快建屋,应运而生。快建屋是一种基于气膜技术的建筑,以…

高考杂志高考杂志社高《高考》杂志社2024年第20期目录

高考论坛 以作业设计为驱动,新高考背景下物理高效课堂构建探析 楚向义; 3-5 新高考化学试题情境考查特点及对情境教学的启示 李瑜; 6-8《高考》投稿:cn7kantougao163.com 高考综合改革背景下高中语文单元主题阅读教学研究 刘春红; 9-11 …

扫地机器人MES系统:功能解析与智能化生产解决方案

扫地机器人MES系统(Manufacturing Execution System,制造执行系统)在扫地机器人制造过程中扮演着重要角色,它主要负责监控、控制和优化整个生产过程。以下是扫地机器人MES系统的功能介绍及解决方案: 一、MES系统功能介…

使用 Toggle 按钮停止循环

1. 问题背景 用户希望使用 wxPython 创建一个带有滑块和按钮的 GUI 界面,当按下按钮时,滑块的值开始增加,当再次按下按钮时,滑块停止增加。但是,用户在循环中使用 time.sleep() 暂停,导致无法在按下按钮后…

第62期|GPTSecurity周报

GPTSecurity是一个涵盖了前沿学术研究和实践经验分享的社区,集成了生成预训练Transformer(GPT)、人工智能生成内容(AIGC)以及大语言模型(LLM)等安全领域应用的知识。在这里,您可以找…

域凭证获取——DCSync

文章目录 一、DCSync简介二、利用DCSync获取域内用户哈希三、DCSync可逆加密利用(没搞定)四、域外利用DCSync获取域用户哈希(待完成)五、利用ACL滥用进行DCSync持久化 攻击机kali IP:192.168.111.0 跳板机win7 IP&…

nodeJS的一点个人总结

nodejs 并不是JavaScript应用,也不是编程语言,因为编程语言使用的JavaScript,Nodejs是 JavaScript的运行时。这个**“运行时”**概念很重要,理解了这个,就理解了nodeJS。 • Node.js并不是JavaScript应用:这里的"…

应对AI辅助编程工具的崛起:程序员的变革之道

目录 前言1. AI工具如何改变日常编码实践1.1 自动补全和代码生成1.2 提高工作效率 2. AI工具带来的潜在风险2.1 编程基本功弱化2.2 创新能力下降2.3 数据隐私与安全 3. 在AI时代的核心竞争力3.1 复杂系统设计能力3.2 跨学科知识整合能力3.3 与AI协作的能力 4. 如何培养核心能力…

鲜花销售小程序的设计

管理员账户功能包括:系统首页,个人中心,用户管理,商家管理,鲜花信息管理,鲜花分类管理,管理员管理,系统管理 微信端账号功能包括:系统首页,购物车&#xff0…

数据结构 - 并查集路径压缩

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 文章目录 引言一、并查集…

第37届百花奖采用8K技术直播颁奖典礼

8月2日至4日,由中国文学艺术界联合会、中国电影家协会、中共四川省委宣传部、成都市人民政府共同主办第37届大众电影百花奖在成都隆重举行。作为“中国电影三大奖”之一,百花奖汇聚国内优秀的电影作品与电影人,向全球展示中国电影产业技术蓬勃…

渗透小游戏,各个关卡的渗透实例---步骤简单(含代码)

文章目录 Less-1Less-2Less-5updatexml报错注入: Less-6Less-7Less-8Less-9Less-11Less-13Less-15 Less-1 首先,可以看见该界面,该关卡主要是SQL注入,由于对用户的输入没有做过滤,使查询语句进入到了数据库中&#xff…

苹果照片删除了如何恢复回来?大家都会用的4个方法

随着我们频繁地使用手机拍照,意外删除照片的情况也屡见不鲜。好在,苹果手机提供了一系列实用的功能和工具,可以最大程度上帮助我们解决苹果照片删除了如何恢复回来的问题。接下来,就让我们一起了解一下这4个好用的技巧吧。 方法一…

JavaEE 第5节 死锁产生的原因

目录 一、死锁场景 场景1:1个线程1个锁 场景2:2个线程2个锁 场景3:N个线程M个锁 二、出现死锁的四个必要条件 1)锁的互斥性(Mutual Exclusion) 2)锁的不可抢占性(Non-preempt…

容器跨主机通信:Flannel网络实现机制分析

Docker与Kubernetes系列 容器跨主机通信:Flannel网络实现机制分析 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of thi…

NLP——文本预处理

本文思维导图 文本预处理及其作用 文本语料在输送给模型前一般需要一系列的预处理工作, 才能符合模型输入的要求, 如: 将文本转化成模型需要的张量, 规范张量的尺寸等, 而且科学的文本预处理环节还将有效指导模型超参数的选择, 提升模型的评估指标. 一、文本处理的基本方法 1…

职业院校工业互联网平台应用实训室解决方案

摘要:随着“中国制造2025”战略的深入实施,工业互联网作为新一代信息技术与制造业深度融合的关键支撑,对我国产业升级和经济转型具有重要意义。为培养适应未来工业发展需求的技术技能人才,职业院校需要建立工业互联网平台应用实训…

Python爬虫新手指南及简单实战

网络爬虫是自动化获取网络信息的高效工具,Python因其强大的库支持和简洁的语法成为编写网络爬虫的首选语言。本教程将通过一个具体的案例(基于Microsoft Edge浏览器的简单爬取),指导你使用Python实现一个完整的网络爬虫&#xff0…

群晖出现grub-editenv:error:environment block too small

起因: 想修改一下东西,结果找到配置修改后出现grub2-editenv: error: environment block too small. ,然后就不能启动了 原因是: 修改的部分导致启动环境检测到内存分配的较小 解决 1.切换管理用户 sudo -i 2.找文件并备份 find / -name gru…

基于C#调用文心一言大模型制作桌面软件(可改装接口)

目录 开发前的准备账号注册应用创建应用接入 开始开发创建项目设计界面使用 AK,SK 生成鉴权签名窗体代码 百度智能云千帆大模型平台什么是百度智能云千帆大模型平台模型更新记录 开发前的准备 账号注册 访问百度智能云平台,通过百度账号登录或手机号验证…