go操作redis
发布日期:2021-11-18 19:17:18 浏览次数:12 分类:技术文章

本文共 1975 字,大约阅读时间需要 6 分钟。

这里我使用的是目前最高star 6k

获取redigo

go get

不废话直接上代码

host := "127.0.0.1:6379" //redis server	db := "0"  //redis索引  这里的’0‘可以使任何类型(string,int,int32,int64,uint8...)	rs, err := redis.Dial("tcp", host) //首先获取连接	defer rs.Close()	if err != nil {
fmt.Printf("redis connect error:%s\n", err) return } fmt.Printf("redis connect success: %s\n", host)
// 选择db	rs.Do("SELECT", db)		key := "aaa"	value := "bbb"	n, err := rs.Do("SETNX", key, value)	if err != nil {
fmt.Println(err) return } // 注意这里返回的0或1是int64类型,注意先转换类型再比较 if n == int64(1) {
// 设置过期时间为24小时 n, _ := rs.Do("EXPIRE", key, 24*3600) if n == int64(1) {
fmt.Println("success") } } else if n == int64(0) {
fmt.Println("the key has already existed") } // 由于redis数据在go中是以[]byte类型存储的,所以我们需要调用redis.String方法将其转换 value, _ = redis.String(rs.Do("GET", key) if err != nil {
fmt.Println("fail") } fmt.Println(value)}

存储json类型数据

将我们之前的key value值稍作修改

key := "key"	//存储前需将其序列化	value, _ := json.Marshal(map[string]string{
"foo": " bar"})

获取

value2, _ := redis.String(rs.Do("GET", key))

完整代码

package mainimport (	"encoding/json"	"fmt"	"github.com/garyburd/redigo/redis")func main() {
host := "127.0.0.1:6379" db := "0" rs, err := redis.Dial("tcp", host) defer rs.Close() if err != nil {
fmt.Printf("redis connect error:%s \n", err) return } fmt.Printf("redis connect success: %s\n", host) // 选择db rs.Do("SELECT", db) key := "key" value, _ := json.Marshal(map[string]string{
"foo": " bar"}) n, err := rs.Do("SETNX", key, value) if err != nil {
fmt.Println(err) return } // 返回的n的类型是int64的,所以得将1或0转换成为int64类型的再比较 if n == int64(1) {
// 设置过期时间为24小时 n, _ := rs.Do("EXPIRE", key, 24*3600) if n == int64(1) {
fmt.Println("success") } } else if n == int64(0) {
fmt.Println("the key has already existed") } // 由于之前存的value是string类型,所以用redis.String将数据转换成string类型 value2, _ := redis.String(rs.Do("GET", key)) json.Unmarshal() if err != nil {
fmt.Println("fail") } fmt.Println(value2)}

转载地址:https://blog.csdn.net/weixin_39172380/article/details/91436387 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:AIX获取文件MD5校验值
下一篇:程序员常用英文名参考

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年03月27日 17时10分32秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章