博客
关于我
go redis连接池
阅读量:657 次
发布时间:2019-03-15

本文共 937 字,大约阅读时间需要 3 分钟。

Redis连接池实现

import (	"github.com/garyburd/redigo/redis"	"os"	"fmt"	"strconv"	"time")func main() {	// Redis连接池配置	pool := &redis.Pool{		MaxIdle:     20,        // 最大闲置连接数		MaxActive:    0,        // 最大活动连接数(暂无上限)		IdleTimeout: time.Second * 1000, // 空闲连接超时时间		Dial: func() (redis.Conn, error) {			return redis.Dial("tcp", "127.0.0.1:6379") // Redis服务器地址		},	}	// 关闭连接池资源	defer pool.Close()	// 模拟多个客户端同时连接	for i := 0; i < 10; i++ {		go func(pool *redis.Pool, i int) {			// 获取连接			conn := pool.Get()			defer conn.Close()			// 执行Redis命令			reply, err := conn.Do("SET", "conn"+strconv.Itoa(i), i)			if err != nil {				fmt.Printf("操作失败:%v\n", err)				return			}			// 获取结果			s, _ := redis.String(reply, err)			fmt.Printf("操作结果:%v\n", s)		}(pool, i)		time.Sleep(3 * time.Second) // 强制等待,模拟并发	}

优化说明:

  • 模仿技术文档写作风格,避免AI生成感
  • 删除了不必要的HTML标签
  • 保留了核心代码功能,但注释部分进行了优化
  • 适当调整了语言表达,使其更符合技术写作习惯
  • 保持了代码的可读性和可运行性
  • 采用了更简洁的表达方式
  • 删除了不相关的技术细节和注释
  • 保持了代码的结构化和格式化,便于阅读和理解
  • 转载地址:http://yqdmz.baihongyu.com/

    你可能感兴趣的文章
    【Docker知识】将环境变量传递到容器
    查看>>
    uniapp超全user-agent判断 包括微信开发工具 hbuilder mac windows 安卓ios端及本地识别
    查看>>
    Oracle DBA课程系列笔记(20)
    查看>>
    oracle dblink 创建使用 垮库转移数据
    查看>>
    oracle dblink结合同义词的用法 PLS-00352:无法访问另一数据库
    查看>>
    Oracle dbms_job.submit参数错误导致问题(ora-12011 无法执行1作业)
    查看>>
    oracle dg switchover,DG Switchover fails
    查看>>
    Oracle E-Business Suite软件 任意文件上传漏洞(CVE-2022-21587)
    查看>>
    Oracle EBS OPM 发放生产批
    查看>>
    Oracle EBS-SQL (BOM-15):检查多层BOM(含common BOM).sql
    查看>>
    Oracle EBS环境下查找数据源(OAF篇)
    查看>>
    oracle Extract 函数
    查看>>
    uni-app开发环境自动部署的一个误区(App running at...)
    查看>>
    Oracle GoldenGate Director安装和配置(无图)
    查看>>
    Oracle Goldengate在HP平台裸设备文件系统OGG-01028处理
    查看>>
    oracle instr函数详解
    查看>>
    Oracle Java所有版本的下载链接
    查看>>
    Oracle JDBC url的几种方式
    查看>>
    Oracle JDBC 连接卡死后 Connection Reset
    查看>>
    Oracle JDK vs OpenJDK
    查看>>