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

news2024/11/14 20:45:46

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)

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

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

相关文章

Godot的节点与场景

要深入的理解节点与场景,我们需要跳出这两个概念来看他。说的再直白一些godot本质就是一个场景编辑器! 场景的概念应该在我们平时看电影看电视时会经常提到,比如某一个打斗的场景,这个场景可能会被设在某一个街道,那么…

RIP综合练习

要求: 1.合理使用IP地址划分网络,各自创建循环接口 2.R1创建环回172.16.1.1/24 172.16.2.1/24 172.16.3.1/24 3.要求R3使用R2访问R1环回 4.减少路由条目数量,R1,R2之间增加路由传递安全性 5.R5创建一个环回模拟运营商,不能…

Flink的DateStream API中的ProcessWindowFunction和AllWindowFunction两种用于窗口处理的函数接口的区别

目录 ProcessWindowFunction AllWindowFunction 具体区别 ProcessWindowFunction 示例 AllWindowFunction 示例 获取时间不同,一个数据产生的时间一个是数据处理的时间 ProcessWindowFunction AllWindowFunction 具体示例 ProcessWindowFunction 示例 Al…

CRMEB 电商系统安装及分析

CRMEB系统采用前后端分离技术,基于TP6Vue2.5Uniapp框架开发;支持微信小程序、公众号、H5、APP、PC端适配,数据同步!是一套单商户新零售社交电商系统。 目录 安装 安装环境 安装过程 开始安装 安装检测 数据库配置 高级设置…

基于Cloudflare搭建私有Docker镜像源

周四原本不是发文的日子,主要因为两个原因: 第一个原因是总有人留言说 Docker 用不了,第二个原因是看了下上个月的阅读量,和之前比实在有点惨淡,除了文章总被人搬运外,我估计可能跟第一个原因多少还是有点…

计算机基础(Windows 10+Office 2016)教程 —— 第4章 计算机网络与Internet(上)

第4章 计算机网络与Internet 4.1 计算机网络概述4.1.1 计算机网络的定义4.1.2 计算机网络的发展4.1.3 计算机网络的功能4.1.4 计算机网络体系结构和TCP/IP 参考模型 4.2 计算机网络的组成和分类4.2.1 计算机网络的组成4.2.2 计算机网络的分类 4.3 网络传输介质和通信设备4.3.1 …

【Unity】3D功能开发入门系列(二)

Unity3D功能开发入门系列(二) 一、资源(一)资源文件(二)场景文件(三)资源包(四)Unity 资源商店(五)项目资源的导入 二、父子关系&…

【C语言篇】数据在内存中的存储(超详细)

文章目录 数据在内存中的存储二进制和进制转换基本概念进制转换十进制转二进制二进制转八进制和十六进制 整数在内存中的存储反码原码补码大小端字节序和字节序判断什么是大小端?为什么有大小端 浮点数在内存中的存储题目提出浮点数存的过程浮点数取的过程 题目解析…

Java语言程序设计——篇十一(2)

🌿🌿🌿跟随博主脚步,从这里开始→博主主页🌿🌿🌿 欢迎大家:这里是我的学习笔记、总结知识的地方,喜欢的话请三连,有问题可以私信🌳🌳&…

算法导论 总结索引 | 第五部分 第二十一章:用于不相交集合的数据结构

一些应用涉及 将n个不同的元素分成一组不相交的集合。寻找包含给定元素的唯一集合 和 合并两个集合 1、不相交集合的操作 1、一个不相交集合 数据结构 维持了 一个不相交动态集的集合 S {S_1, S_2,…, S_n}。用一个代表 来标识每个集合,它是这个集合的某个成员。…

IoTDB 入门教程 企业篇④——安全控制 | 白名单、审计日志、登录日志和操作日志

文章目录 一、前文二、白名单2.1 配置文件iotdb-common.properties2.2 配置文件white.list2.3 注意事项 三、审计日志3.1 Cli操作日志3.2 RESTful操作日志3.3 MQTT操作日志3.4 Java操作日志3.5 C#操作日志3.6 Python操作日志 四、参考 一、前文 IoTDB入门教程——导读 IoTDB企业…

C语言9~10 DAY(合集)

数组的概念 什么是数组 数组是相同类型,有序数据的集合。 数组的特征 数组中的数据被称为数组的元素,是同构的 数组中的元素存放在内存空间里 (char player_name[6]:申请在内存中开辟6块连续的基于char类型的变量空间) 衍生概念&#x…

力扣高频SQL 50题(基础版)第三十七题

文章目录 力扣高频SQL 50题(基础版)第三十七题176.第二高的薪水题目说明实现过程准备数据实现方式结果截图总结 力扣高频SQL 50题(基础版)第三十七题 176.第二高的薪水 题目说明 Employee 表: ----------------- …

【传知代码】基于标签相关性的多标签学习(论文复现)

在当今信息爆炸的时代,数据中包含的标签信息对于理解和分析复杂问题至关重要。在诸如文本分类、图像识别和推荐系统等应用中,如何有效地利用标签相关性提升多标签学习的效果成为了研究的热点之一。基于标签相关性的多标签学习方法,通过挖掘不…

存储届的奥运竞技 | 400层3D NAND最快2025到来~

随着内存巨头之间的高带宽内存 (HBM) 竞争日益激烈,NAND 存储器领域的竞争也在升温。据韩国媒体《etnews》报道,SK 海力士正在研发 400 层 NAND 闪存技术,计划在 2025 年底前准备好这项技术以实现量产。 报道称,SK 海力士目前正在…

AcWing并查集

建议先看这个 Bilibili------------------>图论——并查集(详细版) 其实M 1 2就是把1的祖先改成了2,然后M 3 4就是把3的祖先改成了4,然后查询这两数1,2的祖先是不是同一个,3,4的祖先是不是同一个,1,3的祖先是不是同…

【期货】收盘点评。昨天说的,p2409棕榈油在今天或者周一会走出行情

收盘点评 昨天说的,p2409棕榈油在今天或者周一会走出行情。事实就是如此。震荡了几天了,波幅不大的来回震荡,其实主力是不想震荡的,但是不震荡自己的货和行情走不出来。所以我昨天就说,应该就是这一两天会走出一波小行…

⑤【从0制作自己的ros导航小车:上、下位机通信篇】上、下位机串口DMA通信

从0制作自己的ros导航小车 前言一、准备工作二、下位机端(STM32)三、上位机端(旭日x3派)四、测试 系列文章: ①【从0制作自己的ros导航小车:介绍及准备】 ②【从0制作自己的ros导航小车:下位机篇…

一站式解决方案:打造无缝连接的跨渠道客户服务体验

在当今这个数字化时代,客户与企业之间的互动已不再局限于单一渠道。从社交媒体、在线聊天、电子邮件到电话热线,甚至是实体店面,客户期望能够随时随地、无缝切换地获得一致且高效的服务体验。因此,构建一站式解决方案,…

商城系统审计代码审计

1 开源组件通用性漏洞审计 1.1 fastjson漏洞审计与验证 1.1.1 相关知识 Fastjson是Alibaba开发的Java语言编写的高性能JSON库,用于将数据在JSON和Java对 象之间相互转换。 Fastjson反序列化漏洞简单来说是出现在将JSON数据反序列化过程中出现的漏洞。 攻击者可以传入一个恶…