本文主要包括以下要点:
1.使用Go连接需要密码的Redis
2.执行Lua脚本
3.获取脚本执行结果
代码如下
package main
import (
"github.com/gomodule/redigo/redis"
"fmt"
)
func main() {
script := `
local sum = ARGV[1]+ARGV[2]
redis.call('setex', KEYS[1], 10, sum)
return sum
`
c, err := redis.Dial("tcp", "127.0.0.1:6379")
if err != nil {
fmt.Println(err)
return
}
defer c.Close()
if _, err := c.Do("AUTH", "fc4234450eac470d8604fbdff4a34121"); err != nil {
c.Close()
fmt.Println(err)
return
}
if _, err := c.Do("SELECT", 0); err != nil {
c.Close()
fmt.Println(err)
return
}
var getScript = redis.NewScript(1, script)
reply, err := getScript.Do(c, "s", 8, 10)
fmt.Println(reply)
}