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

本文共 973 字,大约阅读时间需要 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/

    你可能感兴趣的文章
    Node.js RESTful API如何使用?
    查看>>
    node.js url模块
    查看>>
    Node.js Web 模块的各种用法和常见场景
    查看>>
    Node.js 之 log4js 完全讲解
    查看>>
    Node.js 函数是什么样的?
    查看>>
    Node.js 函数计算如何突破启动瓶颈,优化启动速度
    查看>>
    Node.js 切近实战(七) 之Excel在线(文件&文件组)
    查看>>
    node.js 初体验
    查看>>
    Node.js 历史
    查看>>
    Node.js 在个推的微服务实践:基于容器的一站式命令行工具链
    查看>>
    Node.js 实现类似于.php,.jsp的服务器页面技术,自动路由
    查看>>
    Node.js 异步模式浅析
    查看>>
    node.js 怎么新建一个站点端口
    查看>>
    Node.js 文件系统的各种用法和常见场景
    查看>>
    Node.js 模块系统的原理、使用方式和一些常见的应用场景
    查看>>
    Node.js 的事件循环(Event Loop)详解
    查看>>
    node.js 简易聊天室
    查看>>
    Node.js 线程你理解的可能是错的
    查看>>
    Node.js 调用微信公众号 API 添加自定义菜单报错的解决方法
    查看>>
    node.js 配置首页打开页面
    查看>>