组件分享之后端组件——Redis数据库的一个Go客户端redigo
组件分享之后端组件——Redis数据库的一个Go客户端redigo
背景
近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。
组件基本信息
- 组件:redigo
- 开源协议: Apache-2.0 license
内容
本节分享一个Redis数据库的一个Go客户端redigo
它具有以下特征
go get github.com/gomodule/redigo/redis
type Redis struct {Addr string `toml:"addr"` //redis地址因为需要考虑单机版和集成的情况下 地址使用[]stringPassword string `toml:"password"` //密码 没有则为空DB int `toml:"db"` //使用的数据库DialConnectionTimeout time.Duration `toml:"dialConnectionTimeout"`DialReadTimeout time.Duration `toml:"dialReadTimeout"`DialWriteTimeout time.Duration `toml:"dialWriteTimeout"`IdleTimeout time.Duration `toml:"idleTimeout"`MaxIdle int `toml:"maxIdle"` // 连接池中的最大空闲连接数MaxActive int `toml:"maxActive"` // 连接池在给定时间内分配的最大连接数。0没有限制}
func initRedis() (*redis.Pool, error) {log.Println("-----------开始初始化redis通用客户端")// 获取配置信息redisConfig := config.Get().RedisredisUrl := fmt.Sprintf("redis://%s", redisConfig.Addr)// 建立连接池redisClient := &redis.Pool{Dial: func() (redis.Conn, error) {con, err := redis.DialURL(redisUrl,redis.DialPassword(redisConfig.Password),redis.DialDatabase(redisConfig.DB),redis.DialConnectTimeout(redisConfig.DialConnectionTimeout*time.Second),redis.DialReadTimeout(redisConfig.DialReadTimeout*time.Second),redis.DialWriteTimeout(redisConfig.DialWriteTimeout*time.Second),)if err != nil {return nil, err}return con, nil},TestOnBorrow: func(c redis.Conn, t time.Time) error {_, err := c.Do("PING")if err != nil {log.Printf("ping redis error: %s", err)return err}return nil},MaxIdle: redisConfig.MaxIdle,MaxActive: redisConfig.MaxActive,IdleTimeout: redisConfig.IdleTimeout * time.Second,Wait: true,MaxConnLifetime: 0,}log.Printf("[redis util] init end !!!")return redisClient, nil}
redisClient,_ := initRedis()
c := redisClient.Get()
defer c.Close()
n, err := c.Do("APPEND", "key", "value")c.Send("SET", "foo", "bar")
c.Send("GET", "foo")
c.Flush()
c.Receive() // reply from SET
v, err = c.Receive() // reply from GET
更多前后端组件,可以持续关注我,我将持续给大家分享各种各样的组件包。
本文声明:
知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
http://www.taodudu.cc/news/show-5202717.html
相关文章:
- 抢购活动php,php结合redis实现高并发下的抢购、秒杀功能
- RabbitMQ、Redis、以及数据库操作
- Redis 知识点总结
- 虹科干货|Redis企业版数据库为企业「数据安全」叠加最强Buff!
- 微服务常见面试题(Java、数据库、Redis面试题)
- Redis高频问题突击(附答案)
- 微服务常见面试题(Java、数据库、Redis、SpringCloud面试题)
- Redis(Remote Dictionary Server)学习笔记
- Redis基础,Linux下安装Redis和hredis,C++调用Redis,Redis中字符串设计
- Redis特性解读
- Java大数据-Redis
- 在C++下借助hiredis使用redis数据库
- Redis常用数据类型及使用场景
- 消息中间件----内存数据库 Redis7(第1章 Redis 概述)
- Redis之数据类型详解分析
- redis java 发布订阅_【Redis学习系列】Redis发布订阅
- [YOLOv7/YOLOv5系列改进NO.39]引入改进遮挡检测的Tri-Layer插件 | BMVC 2022
- Learning Texture Generators for 3D Shape Collections from Internet Photo Sets(2021BMVC) 阅读笔记
- BMVC 2022 (东京大学)仅需90K参数!实时完成低光增强, 曝光矫正的超轻量级Transformer网络IAT,已开源
- Adversarial Learning for Semi-Supervised Semantic Segmentation(BMVC2018)
- 【弱监督视频异常检测】2019-BMVC-用于改进视频异常检测的运动感知功能
- [BMVC 2021] Feature Fusion Vision Transformer for Fine-Grained Visual Categorization
- BMVC 2022 (东京大学)仅需90K参数!实时完成低光增强, 曝光矫正的超轻量级Transformer网络IAT,已开源...
- 虚拟机导入OVF格式
- Dialect needs to be explicitly supplied as of v4.0.0
- 西瓜书习题3.4 (交叉验证法)
- (python基础)交叉验证
- 可下载3d模型的网站
- ECCV 2020 3D点云 Point Cloud 文章汇总
- [Paper Reading-3d] AFDetV2: Real-Time Anchor-Free Single-Stage 3D Detection with IoU-Awareness
组件分享之后端组件——Redis数据库的一个Go客户端redigo相关推荐
- 组件分享之后端组件——阿里妈妈前端团队出品的开源接口管理工具RAP第二代rap2-delos...
组件分享之后端组件--阿里妈妈前端团队出品的开源接口管理工具RAP第二代rap2-delos 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件 ...
- 组件分享之后端组件——一个简单且高度可扩展的分布式文件系统seaweedfs
组件分享之后端组件--一个简单且高度可扩展的分布式文件系统seaweedfs 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题 ...
- 组件分享之后端组件——基于Golang实现的高级消息队列协议 (AMQP) 的消息代理garagemq...
组件分享之后端组件--基于Golang实现的高级消息队列协议 (AMQP) 的消息代理garagemq 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成 ...
- 组件分享之后端组件——基于Golang实现的基于LDAP V3协议的操作包ldap
组件分享之后端组件--基于Golang实现的基于LDAP V3协议的操作包ldap 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续 ...
- 组件分享之后端组件——基于Golang语言的游戏服务器框架leaf
组件分享之后端组件--基于Golang语言的游戏服务器框架leaf 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类 ...
- 组件分享之后端组件——用于将日志写入滚动文件的组件包lumberjack
组件分享之后端组件--用于将日志写入滚动文件的组件包lumberjack 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包 ...
- 组件分享之后端组件——国际化组件go-i18n
组件分享之后端组件--国际化组件go-i18n 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件 ...
- 组件分享之后端组件——基于Golang实现的database/sql附加功能组件dbr
组件分享之后端组件--基于Golang实现的database/sql附加功能组件dbr 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题, ...
- 组件分享之前端组件——用于自定义表单的前端组件form-create
组件分享之前端组件--用于自定义表单的前端组件form-create 背景 近期正在探索前端.后端.系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各 ...
最新文章
- Windows环境下32位汇编程序设计C版code--第五章(一)
- Using SSL Certificates with HAProxy--reference
- hibernate常见错误及解决方法总结
- 11个鲜为人知的实用Linux命令 - Part 2
- php中sql格式化字符串,sqli注入-sprintf格式化字符串带来的注入隐患
- Java面试题详解二:java中的关键字
- 使用Oracle的DBMS_SQL包执行动态SQL语句
- 什么是模式识别,模式识别主要识别什么?
- c语言科学计数法整数位改为0,c语言科学计数法表示
- 爬取豆瓣电影top250
- 大数据时代的“拼图者”
- CC00070.bigdatajava——|Java循环结构.V09|——|Java.v09|双重for循环.v02|打印各种星星图案|
- 织梦dedecmsTAG出现404页面的解决办法
- python自动生成word报表之使用win32com插入自带可编辑的图表
- php中文加密解密,php加密解密详解
- 人人都想自学python_人人都想自学编程,为什么坚持下来的没几个?
- python elasticsearch 提示 ‘update‘ API and will be removed
- 止步89岁!宣布证明黎曼猜想后,数学大师阿蒂亚爵士突然逝世
- NI Package Manage软件的一些问题
- 中国科学技术大学2021计算机考研分数线,中国科学技术大学2021考研分数线已公布...