Golang redigo 使用笔记 (一):基本用法

一、概述

redigo 是一个 redisgo client,官方描述为:Redigo is a Go client for the Redis database.

基本特点:

  • 简单的 API 调用,并支持所有的 redis 命令。
  • 支持管道、事务、订阅以及连接池。

项目首页:https://github.com/garyburd/redigo/

官方文档:https://godoc.org/github.com/garyburd/redigo/redis

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

二、基本使用方法

2.1 连接和关闭

使用 Dail 方法来连接服务:

network 表示网络类型,address 是服务地址,options 是一些可选的选项,如果连接成功将返回一个 redis.Conn 对象,在连接使用完毕后,使用 Close()关闭。

2.2 执行命令

执行 redis 命令使用 Do()方法:

commandName 是 redis 命令,后面接参数,例如执行一个 SET 命令:

要注意的是不能使用类似 Do("SET", "xxx hello")的命令,因为系统会把这个命令解析成 set 一个名为 xxx hello 的键,它的值为空。

运行后将返回一个 reply 对象和错误标志 err,如果 err != nilreply 中保存 redis 服务的响应。 reply 是一个接口对象,根据命令的不同返回的形式也不同,它将会根据值的类型做如下转换:

在获取到返回值后可以使用断言来转换数据类型,或者使用库中自带的 Reply Helpers 进行转换。

2.3 Reply Helpers

Reply Helpers 是库里提供的类型转换功能,可以把 replayinterface{}转换成我们想要的类型,包里提供了很多类型转换函数,如:

可以把 Do 函数返回的数据类型转换成 []string 类型,相同的函数还有 Float64Int64 等等。

2.4 管道

管道的使用方法设计到三个函数:

send()方法把命令写到输出缓冲区,Flush()把缓冲区的命令刷新到 redis 服务器,Receive()函数接收 redis 给予的响应,三个操作共同完成一套命令流程:

合并这三个操作就成了 Do()函数,官方对 Do()的描述为:

三、操作示例

 

 

发表评论