forked from mirror/redis
Add Script example.
This commit is contained in:
parent
b5ff444f91
commit
7b70bfeadc
|
@ -145,6 +145,34 @@ func ExamplePubSub() {
|
|||
// &{mychannel hello} <nil>
|
||||
}
|
||||
|
||||
func ExampleScript() {
|
||||
client := redis.NewTCPClient(&redis.Options{
|
||||
Addr: ":6379",
|
||||
})
|
||||
defer client.Close()
|
||||
|
||||
setnx := redis.NewScript(`
|
||||
if redis.call("get", KEYS[1]) == false then
|
||||
redis.call("set", KEYS[1], ARGV[1])
|
||||
return 1
|
||||
end
|
||||
return 0
|
||||
`)
|
||||
|
||||
run1 := setnx.Run(client, []string{"keynx"}, []string{"foo"})
|
||||
fmt.Println(run1.Val().(int64), run1.Err())
|
||||
|
||||
run2 := setnx.Run(client, []string{"keynx"}, []string{"bar"})
|
||||
fmt.Println(run2.Val().(int64), run2.Err())
|
||||
|
||||
get := client.Get("keynx")
|
||||
fmt.Println(get)
|
||||
|
||||
// Output: 1 <nil>
|
||||
// 0 <nil>
|
||||
// GET keynx: foo
|
||||
}
|
||||
|
||||
func Example_customCommand() {
|
||||
Get := func(client *redis.Client, key string) *redis.StringCmd {
|
||||
cmd := redis.NewStringCmd("GET", key)
|
||||
|
|
Loading…
Reference in New Issue