Go接続にパスワードが必要なRedis実行Luaスクリプト

803 ワード

ここでは、主に次の点について説明します.
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)

}