脚本专栏 
首页 > 脚本专栏 > 浏览文章

Golang连接Redis数据库的方法

(编辑:jimmy 日期: 2024/12/23 浏览:3 次 )

Golang连接Redis数据库

golang连接数据库,这里博主推荐使用go-redis这个库,理由很简单(连接数据库的操作类似在数据库里面输入命令) go-redis的安装方式

go get -v https://github.com/go-redis/redis

-v小v,是输出过程。一般情况下不带-v什么反馈都看不到。

连接redis的方式

package ...

import (
 "github.com/go-redis/redis"
)

func main() {
 client := redis.NewClient(&redis.Options{
   Addr:		"127.0.0.1:6379",
   Password:	"",
   DB:			0,
 })
 defer client.Close()  
}

顺带提一下,redis可以设置库的数量为255个,但实际上我们连接使用时,只有0-19这二十个库。默认配置下,redis可以使用0-16

分享一些使用过程中,很快捷的技巧 如果在使用redis时,需要查询一下key是否存在

value, _ := client.Exists(key).Result()

会返回1或0,1代表key存在,0代表不存在。


新建key-value键值对时,可以使用Set方式

这里,需要我们将value进行字符串转化

import (
	"encoding/json"
)

var value map[string]string{"username": "", "userpassword": ""}

mjson, _ := json.Marshal(value)
mString := string(mjson)

client.Set(UserName, mString, 0).Err()

获取键值对,可以使用Get方式

UserInfo, _ := client.Get(UserName).Result()

UserName是你要查询的值,如果觉得你查询的值不知道在不在,那最好先Exists一下

返回Key所对应的Value,也就是存储的value

根据单一条件进行查找,可以使用Keys方式

keys, _ := client.Keys(search).Result()

注意一下,redis不支持多条件查找。也就是说正常的SQL语句是不行的,毕竟非关系型数据库嘛~

如果想要多条件的话,可以*key1*key2*这样写,但有局限性。

如果匹配到,就返回带有key的数组。如果没有匹配到,就返回空的数组。

更多使用方式,可以去从go-redis的文档上看。

https://godoc.org/github.com/go-redis/redis

上一篇:浅谈golang结构体偷懒初始化
下一篇:golang连接kafka消费进ES操作