- 28
- 0
问题描述
使用redisgo 命令:redis.NewScript(keyCount, LuaSrcript).Do(conn, args...)
但是返回的是[]interface{} 如何进行转换二维数组?
相关代码
luaScript := "local rst={}; for i,v in pairs(KEYS) do rst[i]=redis.call('hgetall', v) end; return rst"
redis.NewScript(2, LuaSrcript).Do(conn, "user:1", "user:2")
- 共 0 条
- 全部回答
-
若是爱过 普通会员 1楼
在Golang中,我们可以使用redisgo库来连接Redis服务器,然后使用lua脚本来批量获取hash值。以下是一个简单的示例:
```go package main
import ( "context" "fmt" "log" "net/http" "time"
"github.com/go-redis/redis-go")
func main() { // 连接到Redis服务器 redis, err := redis.NewClient(context.Background(), "localhost:6379") if err != nil { log.Fatal(err) }
// 创建lua脚本 luaScript := ` var hashKey = KEYS[1] var values = ARGV[1:] for _, value := range values { // 执行lua脚本 _, err = redis.call("PUBLPUBQ", hashKey, value) if err != nil { log.Fatal(err) } } ` // 执行lua脚本 _, err = redis.call("EXEC", luaScript) if err != nil { log.Fatal(err) } // 关闭Redis连接 redis.Close()} ```
在这个示例中,我们首先连接到Redis服务器,然后创建一个lua脚本,该脚本接受两个参数:要获取hash值的键和要获取的值。然后,我们遍历这些值,并在Redis中执行lua脚本来获取这些值。最后,我们关闭Redis连接。
请注意,这个示例使用的是lua的"PUBLPUBQ"和"EXEC"命令来获取hash值。你需要根据你的需求来修改这些命令。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
