Golang连接Redis数据库的方法

 更新时间:2020年12月18日 09:47:58   作者:发现美的眼睛  
这篇文章主要介绍了Golang连接Redis数据库的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

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连接Redis数据库的方法的文章就介绍到这了,更多相关Golang连接Redis数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Go语言标准错误error全面解析

    Go语言标准错误error全面解析

    Go语言中的错误处理是通过内置的error接口来实现的,其中errorString和wrapError是两种常见的错误类型实现方式,errorString通过errors.New()方法实现,而wrapError则通过fmt.Errorf()方法实现,支持错误的嵌套和解析
    2024-10-10
  • GoLang中拼接字符串性能优化方法详解

    GoLang中拼接字符串性能优化方法详解

    最近在做性能优化,有个函数里面的耗时特别长,看里面的操作大多是一些字符串拼接的操作,而字符串拼接在 golang 里面其实有很多种实现,下面这篇文章主要给大家介绍了关于Golang语言如何高效拼接字符串的相关资料,需要的朋友可以参考下
    2023-02-02
  • Go gin权限验证实现过程详解

    Go gin权限验证实现过程详解

    这篇文章主要为大家介绍了Go gin权限验证实现过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01
  • Go单元测试利器testify使用示例详解

    Go单元测试利器testify使用示例详解

    这篇文章主要为大家介绍了Go单元测试利器testify使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • Go语言开发k8s之ConfigMap操作解析

    Go语言开发k8s之ConfigMap操作解析

    这篇文章主要为大家介绍了Go语言开发k8s之ConfigMap操作示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 深度解密 Go 语言中的 sync.map

    深度解密 Go 语言中的 sync.map

    这篇文章主要介绍了深度解密 Go 语言中的 sync.map,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • Go select使用与底层原理讲解

    Go select使用与底层原理讲解

    这篇文章主要介绍了Go select使用与底层原理讲解,select是Go提供的IO多路复用机制,可以用多个cas同时监听多个channl的读写状态,相关内容需要的朋友可以参考一下
    2022-07-07
  • Goland 的安装及激活教程(window、linux下安装)

    Goland 的安装及激活教程(window、linux下安装)

    这篇文章主要介绍了Golang Goland 的安装及激活详细教程,包括window下安装goland和linux下安装goland,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • 基于go实例网络存储协议详解

    基于go实例网络存储协议详解

    这篇文章主要为大家介绍了基于go实例网络存储协议详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Go语言非main包编译为静态库并使用的示例代码

    Go语言非main包编译为静态库并使用的示例代码

    本文以Windows为例,介绍一下如何将Go的非main包编译为静态库,用户又将如何使用。通过实际项目创建常规工程,通过示例代码给大家介绍的非常详细,需要的朋友参考下吧
    2021-07-07

最新评论