mirror of
https://gitee.com/johng/gf
synced 2026-07-06 13:42:46 +08:00
fix issue in gredis for int set/get
This commit is contained in:
@ -15,6 +15,7 @@ package gredis
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/gogf/gf/util/gconv"
|
||||
"time"
|
||||
|
||||
"github.com/gogf/gf/container/gmap"
|
||||
@ -186,5 +187,8 @@ func (r *Redis) Do(command string, args ...interface{}) (interface{}, error) {
|
||||
// DoVar returns value from Do as gvar.Var.
|
||||
func (r *Redis) DoVar(command string, args ...interface{}) (*gvar.Var, error) {
|
||||
v, err := r.Do(command, args...)
|
||||
if result, ok := v.([]byte); ok {
|
||||
return gvar.New(gconv.UnsafeBytesToStr(result)), err
|
||||
}
|
||||
return gvar.New(v), err
|
||||
}
|
||||
|
||||
@ -7,6 +7,8 @@
|
||||
package gredis_test
|
||||
|
||||
import (
|
||||
"github.com/gogf/gf/frame/g"
|
||||
"github.com/gogf/gf/util/guuid"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
@ -223,3 +225,29 @@ func Test_Bool(t *testing.T) {
|
||||
gtest.Assert(r.Bool(), false)
|
||||
})
|
||||
}
|
||||
|
||||
func Test_Int(t *testing.T) {
|
||||
gtest.Case(t, func() {
|
||||
redis := gredis.New(config)
|
||||
key := guuid.New()
|
||||
_, err := redis.Do("SET", key, 1)
|
||||
gtest.Assert(err, nil)
|
||||
|
||||
r, err := redis.DoVar("GET", key)
|
||||
gtest.Assert(err, nil)
|
||||
gtest.Assert(r.Int(), 1)
|
||||
})
|
||||
}
|
||||
|
||||
func Test_HSet(t *testing.T) {
|
||||
gtest.Case(t, func() {
|
||||
redis := gredis.New(config)
|
||||
key := guuid.New()
|
||||
_, err := redis.Do("HSET", key, "name", "john")
|
||||
gtest.Assert(err, nil)
|
||||
|
||||
r, err := redis.DoVar("HGETALL", key)
|
||||
gtest.Assert(err, nil)
|
||||
gtest.Assert(r.Strings(), g.ArrayStr{"name", "john"})
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user