github.com/wangyougui/gf/v2@v2.6.5/database/gredis/gredis_redis_group_script.go (about) 1 // Copyright GoFrame Author(https://goframe.org). All Rights Reserved. 2 // 3 // This Source Code Form is subject to the terms of the MIT License. 4 // If a copy of the MIT was not distributed with this file, 5 // You can obtain one at https://github.com/wangyougui/gf. 6 7 package gredis 8 9 import ( 10 "context" 11 12 "github.com/wangyougui/gf/v2/container/gvar" 13 ) 14 15 // IGroupScript manages redis script operations. 16 // Implements see redis.GroupScript. 17 type IGroupScript interface { 18 Eval(ctx context.Context, script string, numKeys int64, keys []string, args []interface{}) (*gvar.Var, error) 19 EvalSha(ctx context.Context, sha1 string, numKeys int64, keys []string, args []interface{}) (*gvar.Var, error) 20 ScriptLoad(ctx context.Context, script string) (string, error) 21 ScriptExists(ctx context.Context, sha1 string, sha1s ...string) (map[string]bool, error) 22 ScriptFlush(ctx context.Context, option ...ScriptFlushOption) error 23 ScriptKill(ctx context.Context) error 24 } 25 26 // ScriptFlushOption provides options for function ScriptFlush. 27 type ScriptFlushOption struct { 28 SYNC bool // SYNC flushes the cache synchronously. 29 ASYNC bool // ASYNC flushes the cache asynchronously. 30 }