Golang连接Redis数据库的方法

时间:2021-09-02 07:53:09

Golang连接Redis数据库

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

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

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

连接redis的方式

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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是否存在

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

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


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

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

?
1
2
3
4
5
6
7
8
9
10
import (
    "encoding/json"
)
 
var value map[string]string{"username": "", "userpassword": ""}
 
mjson, _ := json.Marshal(value)
mString := string(mjson)
 
client.Set(UserName, mString, 0).Err()

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

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

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

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

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

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

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

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

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

 

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

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

到此这篇关于Golang连接Redis数据库的方法的文章就介绍到这了,更多相关Golang连接Redis数据库内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_42346414/article/details/104881103