返回类型:
-
BoolCmd
返回bool 值命令, 提供的一些函数:
func NewBoolCmd(args ...interface{}) *BoolCmd func NewBoolResult(val bool, err error) *BoolCmd func (cmd *BoolCmd) Args() []interface{} func (cmd *BoolCmd) Err() error func (cmd *BoolCmd) Name() string func (cmd *BoolCmd) Result() (bool, error) func (cmd *BoolCmd) String() string 返回字符串结果 func (cmd *BoolCmd) Val() bool 计算, 返回bool该类主要配合其他方法使用,当返回BoolCmd值可以使用对应的类方法
笔者尝试自定义命令, 但验证结果不是预期的结果,因此不建议自定义使用
例如:
GetBool := func(redisdb *redis.Client, key string) *redis.BoolCmd { cmd := redis.NewBoolCmd("get", key) redisdb.Process(cmd) return cmd } SetBool := func(redisdb *redis.Client, key string, value bool) *redis.BoolCmd { cmd := redis.NewBoolCmd("set", key, value) redisdb.Process(cmd) return cmd } SetBool(client, "dobool", true) v2, err := GetBool(client, "dobool").Result() fmt.Println(v2, err)输出:
false <nil> -
BoolSliceCmd
返回bool的切片结果,是一组结果,一般用于批量命令
-
CommandsInfoCmd
返回命令信息, 提供命令信息的查询
func NewCommandsInfoCmd(args ...interface{}) *CommandsInfoCmd func NewCommandsInfoCmdResult(val map[string]*CommandInfo, err error) *CommandsInfoCmd func (cmd *CommandsInfoCmd) Args() []interface{} func (cmd *CommandsInfoCmd) Err() error func (cmd *CommandsInfoCmd) Name() string func (cmd *CommandsInfoCmd) Result() (map[string]*CommandInfo, error) func (cmd *CommandsInfoCmd) String() string func (cmd *CommandsInfoCmd) Val() map[string]*CommandInfo例如:
res3 := client.Command().String() fmt.Println(res3)输出:
command: map[hincrby:0xc04204e800 slaveof:0xc04204ef40 getrange:0xc04204f380 zremrangebyscore:0xc04204f600 hmset:0xc04204fe00 lastsave:0xc04204fe40 lrem:0xc04204ef00 pfcount:0xc04204fd80 hgetall:0xc0420aa300 unsubscribe:0xc0420aa980 mget:0xc0420aaac0 punsubscribe:0xc04204fa80 latency:0xc04204e2c0 georadiusbymember:0xc04204e980 lpushx:0xc04204ec40 restore- asking:0xc04204eec0 expireat:0xc04204f240 sadd:0xc04204f580 select:0xc04204f5c0 llen:0xc0420aa540 auth:0xc0420aa600 rpushx:0xc0420aafc0 eval:0xc04204e780 hdel:0xc04204eb00 sdiff:0xc04204ee00 geopos:0xc04204f400 flushdb:0xc0420aa480 .... zrevrank:0xc04204fa00 append:0xc04204fbc0 geodist:0xc0420aa080] -
DurationCmd
过程命令,返回该时间范围中的命令
func NewDurationCmd(precision time.Duration, args ...interface{}) *DurationCmd func NewDurationResult(val time.Duration, err error) *DurationCmd func (cmd *DurationCmd) Args() []interface{} func (cmd *DurationCmd) Err() error func (cmd *DurationCmd) Name() string func (cmd *DurationCmd) Result() (time.Duration, error) func (cmd *DurationCmd) String() string func (cmd *DurationCmd) Val() time.Duration例如:
GetDuration := func(redisdb *redis.Client, value time.Duration) *redis.DurationCmd { cmd := redis.NewDurationCmd(value) redisdb.Process(cmd) return cmd } v2Duration, err := GetDuration(client, 500 * time.Millisecond).Result() fmt.Println(v2Duration, err)输出:
0s read tcp 192.168.137.1:50189->192.168.137.18:6379: i/o timeout -
FloatCmd
浮点型类型
func NewFloatCmd(args ...interface{}) *FloatCmd func NewFloatResult(val float64, err error) *FloatCmd func (cmd *FloatCmd) Args() []interface{} func (cmd *FloatCmd) Err() error func (cmd *FloatCmd) Name() string func (cmd *FloatCmd) Result() (float64, error) func (cmd *FloatCmd) String() string func (cmd *FloatCmd) Val() float64 -
GeoLocationCmd
位置信息类型
func NewGeoLocationCmd(q *GeoRadiusQuery, args ...interface{}) *GeoLocationCmd func NewGeoLocationCmdResult(val []GeoLocation, err error) *GeoLocationCmd func (cmd *GeoLocationCmd) Args() []interface{} func (cmd *GeoLocationCmd) Err() error func (cmd *GeoLocationCmd) Name() string func (cmd *GeoLocationCmd) Result() ([]GeoLocation, error) func (cmd *GeoLocationCmd) String() string func (cmd *GeoLocationCmd) Val() []GeoLocation -
IntCmd
整形
func NewIntCmd(args ...interface{}) *IntCmd func NewIntResult(val int64, err error) *IntCmd func (cmd *IntCmd) Args() []interface{} func (cmd *IntCmd) Err() error func (cmd *IntCmd) Name() string func (cmd *IntCmd) Result() (int64, error) func (cmd *IntCmd) String() string func (cmd *IntCmd) Val() int64 -
IntSliceCmd
整形切片
func NewIntSliceCmd(args ...interface{}) *IntSliceCmd func (cmd *IntSliceCmd) Args() []interface{} func (cmd *IntSliceCmd) Err() error func (cmd *IntSliceCmd) Name() string func (cmd *IntSliceCmd) Result() ([]int64, error) func (cmd *IntSliceCmd) String() string func (cmd *IntSliceCmd) Val() []int64 -
ScanCmd
分页的命令列表
func NewScanCmd(process func(cmd Cmder) error, args ...interface{}) *ScanCmd func NewScanCmdResult(keys []string, cursor uint64, err error) *ScanCmd func (cmd *ScanCmd) Args() []interface{} func (cmd *ScanCmd) Err() error func (cmd *ScanCmd) Iterator() *ScanIterator func (cmd *ScanCmd) Name() string func (cmd *ScanCmd) Result() (keys []string, cursor uint64, err error) func (cmd *ScanCmd) String() string func (cmd *ScanCmd) Val() (keys []string, cursor uint64) -
ScanIterator
返回一个迭代器
func (it *ScanIterator) Err() error func (it *ScanIterator) Next() bool func (it *ScanIterator) Val() string -
StatusCmd
命令状态
func NewStatusCmd(args ...interface{}) *StatusCmd func NewStatusResult(val string, err error) *StatusCmd func (cmd *StatusCmd) Args() []interface{} func (cmd *StatusCmd) Err() error func (cmd *StatusCmd) Name() string func (cmd *StatusCmd) Result() (string, error) func (cmd *StatusCmd) String() string func (cmd *StatusCmd) Val() string -
StringCmd
字符串
func NewStringCmd(args ...interface{}) *StringCmd func NewStringResult(val string, err error) *StringCmd func (cmd *StringCmd) Args() []interface{} func (cmd *StringCmd) Bytes() ([]byte, error) func (cmd *StringCmd) Err() error func (cmd *StringCmd) Float32() (float32, error) func (cmd *StringCmd) Float64() (float64, error) func (cmd *StringCmd) Int() (int, error) func (cmd *StringCmd) Int64() (int64, error) func (cmd *StringCmd) Name() string func (cmd *StringCmd) Result() (string, error) func (cmd *StringCmd) Scan(val interface{}) error func (cmd *StringCmd) String() string func (cmd *StringCmd) Uint64() (uint64, error) func (cmd *StringCmd) Val() string -
StringIntMapCmd
string 列表
func NewStringIntMapCmd(args ...interface{}) *StringIntMapCmd func NewStringIntMapCmdResult(val map[string]int64, err error) *StringIntMapCmd func (cmd *StringIntMapCmd) Args() []interface{} func (cmd *StringIntMapCmd) Err() error func (cmd *StringIntMapCmd) Name() string func (cmd *StringIntMapCmd) Result() (map[string]int64, error) func (cmd *StringIntMapCmd) String() string func (cmd *StringIntMapCmd) Val() map[string]int64 -
StringSliceCmd
string切片
func NewStringSliceCmd(args ...interface{}) *StringSliceCmd func NewStringSliceResult(val []string, err error) *StringSliceCmd func (cmd *StringSliceCmd) Args() []interface{} func (cmd *StringSliceCmd) Err() error func (cmd *StringSliceCmd) Name() string func (cmd *StringSliceCmd) Result() ([]string, error) func (cmd *StringSliceCmd) ScanSlice(container interface{}) error func (cmd *StringSliceCmd) String() string func (cmd *StringSliceCmd) Val() []string -
StringStringMapCmd
string的二维数组
func NewStringStringMapCmd(args ...interface{}) *StringStringMapCmd func NewStringStringMapResult(val map[string]string, err error) *StringStringMapCmd func (cmd *StringStringMapCmd) Args() []interface{} func (cmd *StringStringMapCmd) Err() error func (cmd *StringStringMapCmd) Name() string func (cmd *StringStringMapCmd) Result() (map[string]string, error) func (cmd *StringStringMapCmd) String() string func (cmd *StringStringMapCmd) Val() map[string]string -
StringStructMapCmd
string struct数组
func NewStringStructMapCmd(args ...interface{}) *StringStructMapCmd func (cmd *StringStructMapCmd) Args() []interface{} func (cmd *StringStructMapCmd) Err() error func (cmd *StringStructMapCmd) Name() string func (cmd *StringStructMapCmd) Result() (map[string]struct{}, error) func (cmd *StringStructMapCmd) String() string func (cmd *StringStructMapCmd) Val() map[string]struct{} -
TimeCmd
时间类型, 比如ttl, expire等使用时间的方法的返回值
func NewTimeCmd(args ...interface{}) *TimeCmd func (cmd *TimeCmd) Args() []interface{} func (cmd *TimeCmd) Err() error func (cmd *TimeCmd) Name() string func (cmd *TimeCmd) Result() (time.Time, error) func (cmd *TimeCmd) String() string func (cmd *TimeCmd) Val() time.Time -
ZSliceCmd
集合
func NewZSliceCmd(args ...interface{}) *ZSliceCmd func NewZSliceCmdResult(val []Z, err error) *ZSliceCmd func (cmd *ZSliceCmd) Args() []interface{} func (cmd *ZSliceCmd) Err() error func (cmd *ZSliceCmd) Name() string func (cmd *ZSliceCmd) Result() ([]Z, error) func (cmd *ZSliceCmd) String() string func (cmd *ZSliceCmd) Val() []Z -
Script
脚本类
脚本执行,检查是否存在,加载等
func NewScript(src string) *Script func (s *Script) Eval(c scripter, keys []string, args ...interface{}) *Cmd func (s *Script) EvalSha(c scripter, keys []string, args ...interface{}) *Cmd func (s *Script) Exists(c scripter) *BoolSliceCmd func (s *Script) Hash() string func (s *Script) Load(c scripter) *StringCmd func (s *Script) Run(c scripter, keys []string, args ...interface{}) *Cmd
本文详细介绍了在Go中使用go-redis库操作Redis时遇到的各种返回类型,包括BoolCmd、BoolSliceCmd、CommandsInfoCmd、DurationCmd、FloatCmd、GeoLocationCmd、IntCmd、IntSliceCmd、ScanCmd、ScanIterator、StatusCmd、StringCmd、StringIntMapCmd、StringSliceCmd、StringStringMapCmd、StringStructMapCmd、TimeCmd和ZSliceCmd。还特别提到了不建议自定义使用BoolCmd,以及提供了一些使用示例。
2534

被折叠的 条评论
为什么被折叠?



