golang 操作redis

1. redis操作需要引入 github.com/gomodule/redigo/redis 包

go get github.com/gomodule/redigo/redis

2.封装redis操作对象,使用时便可调用  redis的 地址、端口、密码 放配置文件,用config获取即可

package databaseimport ("gin/config""time""github.com/gomodule/redigo/redis"
)var RedisClient *redis.Poolfunc init() {// 建立连接池RedisClient = &redis.Pool{// 从配置文件获取maxidle以及maxactive,取不到则用后面的默认值MaxIdle: 3, //最初的连接数量// MaxActive:1000000,    //最大连接数量MaxActive:   0,                 //连接池最大连接数量,不确定可以用0(0表示自动定义),按需分配IdleTimeout: 300 * time.Second, //连接关闭时间 300秒 (300秒不使用自动关闭)Dial: func() (redis.Conn, error) { //要连接的redis数据库c, err := redis.Dial("tcp", config.RedisHost+":"+config.RedisPort)if err != nil {return nil, err}if config.RedisPassword != "" {if _, err := c.Do("AUTH", config.RedisPassword); err != nil {c.Close()return nil, err}}return c, nil},}
}

3.redis存储数据和读取数据

    	//引入redis连接包  . "gin/database"//存数据并设定过期时间(秒)rc := RedisClient.Get()defer rc.Close()key := "aaabbbccc"rc.Do("Set", key, "SUCCESS", "ex", 600)

    // 引入 . "gin/database" 和  "github.com/gomodule/redigo/redis"// 读取redis缓存数据rc := RedisClient.Get()defer rc.Close()key := "aaabbb"val, _ := redis.String(rc.Do("Get", key))

读取数据时,存入的数据类型可能是 int  或 string ,在存入时转成了interface{}类型, 可使用  redis包自带的方法进行对应转换,如果 string 就用 redis.String()   int 就用redis.Int()  当然,其他类型还有一些其他的基础类型的转换方法 Int64 Uint64 Float64 Bytes Bool StringMap IntMap

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

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

相关文章

[C++]20:unorderedset和unorderedmap结构和封装。

unorderedset和unorderedmap结构和封装 一.哈希表&#xff1a;1.直接定址法&#xff1a;2.闭散列的开放定址法&#xff1a;1.基本结构&#xff1a;2.insert3.find4.erase5.补充&#xff1a;6.pair<k,v> k的数据类型&#xff1a; 3.开散列的拉链法/哈希桶&#xff1a;1.基…

Spark面试重点

文章目录 1.简述hadoop 和 spark 的不同点&#xff08;为什么spark更快&#xff09;2.谈谈你对RDD的理解3.简述spark的shuffle过程4. groupByKey和reduceByKey的区别 1.简述hadoop 和 spark 的不同点&#xff08;为什么spark更快&#xff09; Hadoop 和 Spark 是两种用于大数据…

Python将 PDF 转换为 png 图片的教程

将PDF文件转换为PNG图片&#xff1a;Python实现方法 PDF文件因其跨平台和高保真的特性&#xff0c;在文档共享和打印中得到了广泛应用。然而&#xff0c;在某些情况下&#xff0c;我们需要将PDF页面转换为图片格式&#xff0c;例如在不支持PDF格式的平台上展示内容&#xff0c…

snort规则byte_math规则选项详解

byte_math规则选项的主要功能是从待检测的内存中获取指定的数据&#xff0c;并对数据按照要求进行加工处理&#xff0c;得到结果数值&#xff0c;供后续规则选项使用。 规则语法 规则格式 规则样式 byte_math:bytes <nbytes>,offset <offset>,oper <operate…

小程序中实现轮播图左向堆叠

1、效果图&#xff1a; 轮播图左向堆叠 2、封装的组件&#xff1a; my-swiper.wxml <view><view class"tower-swiper" bindtouchend"TowerEnd"><view class"tower-item" wx:for"{{swiperList}}" wx:key"index&q…

mabatis 下

mybatis 原生的API&注解的方式MyBatis-原生的API调用快速入门需求快速入门代码实现 MyBatis-注解的方式操作快速入门需求快速入门代码实现注意事项和说明 mybatis-config.xml配置文件详解说明properties属性settings全局参数定义typeAliases别名处理器typeHandlers类型处理…

几个特殊的控件

目录 一、3个button 1、button 2、linkbutton 3、ImageButton Enabled属性 二、Image控件 1、使用原因 2、使用方式 法一&#xff1a;指明路径 法二&#xff1a;同一目录 3、使用实例 &#xff08;1&#xff09;要求 &#xff08;2&#xff09;操作 三、Typelink和…

SpringBoot自定义Starter:IP计数业务功能开发

🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开心好久好久😎 📚系列专栏:Java全栈,计算机系列(火速更新中) 💭 格言:种一棵树最好的时间是十年前,其次是现在 🏡动动小手,点个关注不迷路,…

每天学习一个Linux命令之nano

每天学习一个Linux命令之nano 在Linux系统中&#xff0c;有许多文本编辑器可供选择&#xff0c;而nano是其中一款简洁易用的编辑器。本篇博客将详细介绍nano命令及其可用的选项&#xff0c;帮助读者更好地使用这个命令。 Nano命令简介 Nano是一个开源的、易于使用的、基于终…

RocketMq 顺序消费、分区消息、延迟发送消息、Topic、tag分类 实战(基本概念) (一)

1、RocketMq基本概念 Topic 消息主题&#xff0c;一级消息类型&#xff0c;通过Topic对消息进行分类。更多信息&#xff0c;请参见Topic与Tag最佳实践。 消息&#xff08;Message&#xff09; 消息队列中信息传递的载体。 Message ID 消息的全局唯一标识&#xff0c;由云消息队…

对https://registry.npm.taobao.org/tyarn的请求失败,原因:证书过期

今天安装tyarn时&#xff0c;报错如下&#xff1a; request to https://registry.npm.taobao.org/tyarn failed, reason: certificate has expired 原来淘宝镜像过期了&#xff0c;需要重新搞一下 记录一下解决过程&#xff1a; 1.查看当前npm配置 npm config list 2.清空…

持续集成平台 01 jenkins 入门介绍

拓展阅读 Devops-01-devops 是什么&#xff1f; Devops-02-Jpom 简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件 代码质量管理 SonarQube-01-入门介绍 项目管理平台-01-jira 入门介绍 缺陷跟踪管理系统&#xff0c;为针对缺陷管理、任务追踪和项目管理的商业…

JAVAEE多线程——锁

文章目录 什么是锁为什么需要锁如何加锁synchorized 的使用synchronized 修饰方法synchronized 修饰代码块 死锁问题那种场景会造成死锁死锁的本质由于内部存在无限循环导致的死锁 死锁的第二种情况哲学家吃饭模型造成死锁的必要条件 什么是锁 首先我们来解释一下什么是锁呢&a…

如何利用MySQL建立覆盖原表的索引优化查询性能

MySQL数据库中&#xff0c;建立合适的索引对于提高查询性能至关重要。然而&#xff0c;在某些情况下&#xff0c;我们可能需要进一步优化查询性能&#xff0c;而覆盖索引&#xff08;Covering Index&#xff09;就是一种有效的方法。本文将介绍什么是覆盖索引以及如何在MySQL中…

SpringBoot整合Xxl-Job

一、下载Xxl-Job源代码并导入本地并运行 Github地址:GitHub - xuxueli/xxl-job: A distributed task scheduling framework.&#xff08;分布式任务调度平台XXL-JOB&#xff09; 中文文档地址:分布式任务调度平台XXL-JOB 1.使用Idea或Eclipse导入 2.执行sql脚本(红色标记…

机器学习_神经网络

文章目录 简介反向传播小结 简介 为了构建神经网络模型&#xff0c;我们需要首先思考大脑中的神经网络是怎样的&#xff1f;每一个神经元都可以被认为是一个处理单元/神经核&#xff0c;它含有许多输入/树突&#xff0c;并且有一个输出/轴突。神经网络是大量神经元相互链接并通…

【笔试】互联网校招技术研发岗 非技术岗笔试准备方向

【笔试】互联网校招技术研发岗笔试准备方向 文章目录 1、研发&#xff1a;软件开发&#xff08;选择&#xff09;2、研发&#xff1a;非技术题&#xff08;选择&#xff09;3、研发&#xff1a;编程题4、产品、运营、项目、视觉、设计、交互5、人力、财务、行政、咨询、管理6、…

计算机网络简答题:复试+期末

文章目录 1.计算机网络的功能:2.计算机网络的分类:3.主机间的通信方式:4.电报交换、报文交换、分组交换的区别:5.计算机网络的性能指标:6.0SI模型和TCP/IP模型:7.通信信通的方式:8.端到端的通信与点到点通信的区别:9.同步通信和异步通信:10.频分复用、时分复用、波分复用和码分…

H5 与 App、网页之间的通信

前言 本文整理工作中 H5 嵌入 Android、iOS 与 PC 网页后&#xff0c;如何与各端通信。&#xff08;提供 H5 端的代码&#xff09; 环境判断 const ua navigator.userAgent.toLowerCase()const isAndroid /android/i.test(ua)const isIos /iphone|ipod|ios/i.test(ua)cons…

笔试题——得物春招实习

开幕式排练 题目描述 导演在组织进行大运会开幕式的排练&#xff0c;其中一个环节是需要参演人员围成一个环形。演出人员站成了一圈&#xff0c;出于美观度的考虑&#xff0c;导演不希望某一个演员身边的其他人比他低太多或者高太多。 现在给出n个参演人员的身高&#xff0c;问…