Go语言开发redis封装及简单使用详解

作者:秋天的春 时间:2024-05-08 10:53:30 

go redis 集合操作--sadd

redis的go语言包,我们使用官方推荐的redigo,https://github.com/garyburd/redigo

安装redigo


$ go get github.com/garyburd/redigo

带密码的redis操作


package main
import (
   "log"
   "github.com/garyburd/redigo/redis"
)
func main() {
    server := "127.0.0.1:6379"
    option := redis.DialPassword("123456")
   c, err := redis.Dial("tcp", server, option)
   if err != nil {
       log.Println("connect server failed:", err)
       return
   }
   defer c.Close()
   v, err := redis.Int64(c.Do("SADD", "myset", "10.8.37.98"))
   if err != nil {
       log.Println("SADD failed:", err)
       return
   }
   log.Println("value:", v)

}

批量添加


package main
import (
   "log"

"github.com/garyburd/redigo/redis"
)
func main() {
   server := "127.0.0.1:6379"
   option := redis.DialPassword("123456")
   c, err := redis.Dial("tcp", server, option)
   if err != nil {
       log.Println("connect server failed:", err)
       return
   }
   defer c.Close()
   setKey := "myset"
   args := []interface{}{setKey}
   args = append(args, "10.1")
   args = append(args, "10.2")
   v, err := redis.Int64(c.Do("SADD", args...))
   if err != nil {
       log.Println("SADD failed:", err)
       return
   }
   log.Println("value:", v)

}

无密码redis操作


package main
import (
"fmt"
"github.com/gomodule/redigo/redis"
)
func main() {
c, err := redis.Dial("tcp", "127.0.0.1:6379")
if err != nil {
fmt.Println(err)
return
}
defer c.Close()
c.Do("SET", "hello", "world")
s, err := redis.String(c.Do("GET", "hello"))

redis封装包


package redis
import (
"autumn/tools/cfg"
"fmt"
"github.com/gomodule/redigo/redis"
"log"
)
var REDIS redis.Conn
func InitRedis() {
REDIS = redis_connect("default")
}
func CloseRedis() {
REDIS.Close()
}
func redis_connect(project string) redis.Conn {
server := fmt.Sprintf("%s:%s",
cfg.Get("redis", project+".host").String(),
cfg.Get("redis", project+".port").String())
var err error
option := redis.DialPassword(cfg.Get("redis", project+".passwd").String())
c, err := redis.Dial("tcp", server, option)
if err != nil {
log.Fatal("[GIN-MYSQL(" + project + ")] connect to redis error:" + err.Error())
}
log.Println("[GIN-Redis(" + project + ")] connected success")
return c
}

参考

redigo
https://github.com/garyburd/redigo

redigo API Reference
https://godoc.org/github.com/gomodule/redigo/redis

来源:https://blog.csdn.net/ffzhihua/article/details/83176719

标签:Go,redis,封装
0
投稿

猜你喜欢

  • Oracle 10g client 安装图解教程

    2023-07-13 20:40:10
  • Python多进程multiprocessing、进程池用法实例分析

    2022-05-20 00:01:29
  • Django中使用Celery的方法示例

    2021-08-05 06:12:08
  • Python OpenCV实现传统图片格式与base64转换

    2021-07-20 21:42:21
  • Python sublime安装及配置过程详解

    2021-07-06 19:57:47
  • python开发飞机大战游戏

    2022-10-08 05:15:37
  • MongoDB orm框架的注意事项及简单使用

    2024-01-17 07:04:16
  • django+celery+RabbitMQ自定义多个消息队列的实现

    2021-01-21 16:52:10
  • python实现从一组颜色中找出与给定颜色最接近颜色的方法

    2023-04-23 01:48:44
  • 解决pip install 卡住不动的问题

    2021-06-16 16:25:13
  • python lambda 表达式形式分析

    2021-05-06 06:05:58
  • centos6.5安装python3.7.1之后无法使用pip的解决方案

    2022-06-27 17:12:09
  • Go语言copy()实现切片复制

    2024-05-25 15:12:43
  • Array.prototype.concat不是通用方法反驳[译]

    2024-05-25 15:19:13
  • MS sqlserver 2008数据库转换成2000版本的方法

    2024-01-28 11:37:53
  • python的类方法和静态方法

    2021-04-14 21:05:22
  • Python实现读取txt文件并转换为excel的方法示例

    2023-07-25 15:20:16
  • Python unittest单元测试openpyxl实现过程解析

    2023-06-17 10:54:31
  • python实现简单的井字棋游戏(gui界面)

    2023-03-06 23:16:01
  • Python爬虫实现selenium处理iframe作用域问题

    2021-05-23 03:09:42
  • asp之家 网络编程 m.aspxhome.com