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

马谦马谦马谦 2017年11月28日21:06:24 发表评论
文章最后编辑于:2017-11-28 22:00:57

一、概述

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()的描述为:

三、操作示例

 

 

本文共执行46次查询,耗时0.711秒!
马谦马谦马谦

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: