zoukankan      html  css  js  c++  java
  • go 操作redis遇到的坑

    go操作redis,常用的库为redisgo和go-redis,在github上都有相关的demo code。

    但是,相关的demo都不支持redis集群,开始尝试都是会报MOVED的错误,查资料说用MOVED报错后的地址再试一次即可,自己搞了半天发现重试也不行。

    又继续查资料,发现go-redis是支持集群的。只要是合理的设置即可。

    如下:

    var ctx = context.Background()
    //关键在于如下的配置
    rdb := redis.NewClusterClient(&redis.ClusterOptions{
    Addrs: []string{"xxx:xx"},
    Password: "xx",
    })

    err := rdb.Set(ctx, "key", "value test", 0).Err()
    if err != nil {
    fmt.Println(err)
    panic(err)
    }

    val, err := rdb.Get(ctx, "key").Result()
    if err != nil {
    panic(err)
    }
    fmt.Println("key", val)

    val2, err := rdb.Get(ctx, "key2").Result()
    if err == redis.Nil {
    fmt.Println("key2 does not exist")
    } else if err != nil {
    panic(err)
    } else {
    fmt.Println("key2", val2)
    }
    测试可用哦。
  • 相关阅读:
    fastdfs部署及官网
    fasrdfs在spring cloud中的使用
    面包屑的查询
    SpringCloud中使用ES使用课程上下线
    Redis中在项目中的使用
    树结构Tree查询
    平凡的世界 田晓霞的日记 摘抄

    英语积累
    英语学习第四天
  • 原文地址:https://www.cnblogs.com/wangyu19900123/p/14884650.html
Copyright © 2011-2022 走看看