操作Redis之redigo

1|0一、go操作redis的选择

  • golang操作redis主要有两个库,go-redisredigo

  • go-redis:star数更多,支持连接哨兵及集群模式的Redis

  • redigo:star数少一些,操作更简单

2|0二、redigo快速使用

安装:go get github.com/garyburd/redigo/redis

2|11. 快速链接

func main() { conn,err:=redis.Dial("tcp", "localhost:6379") if err!=nil { fmt.Println("连接出错",err) return } defer conn.Close() res,err:=conn.Do("ping") fmt.Println(res) }

3|0三、redis操作

func main() { conn,err:=redis.Dial("tcp", "localhost:6379") if err!=nil { fmt.Println("连接出错",err) return } defer conn.Close() res,err:=conn.Do("ping") fmt.Println(res) // 1 字符串 set get //res,_=conn.Do("set","name","lqz") //fmt.Println(res) //res,_=redis.String(conn.Do("get","name")) //fmt.Println(res) //2 MSet MGet //conn.Do("MSet", "name", "刘清政", "age", 19) //r, _ := redis.Strings(conn.Do("MGet", "name", "age")) //fmt.Println(r) // 3 expire //res,err=conn.Do("expire", "name", 5) //4 lpush lpop conn.Do("lpush", "hobby", "篮球", "足球", "乒乓球") r, _ := redis.String(conn.Do("lpop", "hobby")) fmt.Println(r) // 5 hset hget conn.Do("HSet", "userinfo", "name", "lqz") r,_ = redis.String(conn.Do("HGet", "userinfo", "name")) fmt.Println(r) }

4|0四、连接池

func main() { var pool *redis.Pool pool = &redis.Pool{ MaxIdle: 10, //最初的连接数量 MaxActive: 0, //连接池最大连接数量,(0表示自动定义),按需分配 IdleTimeout: 300, //连接关闭时间 300秒 (300秒不使用自动关闭) Dial: func() (redis.Conn, error) { //要连接的redis数据库 return redis.Dial("tcp", "localhost:6379") }, } conn := pool.Get() //从连接池,取一个链接 defer conn.Close() res, _ := conn.Do("ping") fmt.Println(res) }

__EOF__

本文作者BigSun丶
本文链接https://www.cnblogs.com/Mcoming/p/18073553.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   BigSun丶  阅读(61)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示