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