Documentation ¶
Index ¶
- type Client
- func (cl Client) JsonArrAppend(c context.Context, key, path string, jsons ...interface{}) *redis.IntCmd
- func (cl Client) JsonArrIndex(c context.Context, key, path string, jsonScalar interface{}, ...) *redis.IntCmd
- func (cl Client) JsonArrInsert(c context.Context, key, path string, index int, jsons ...interface{}) *redis.IntCmd
- func (cl Client) JsonArrLen(c context.Context, key, path string) *redis.IntCmd
- func (cl Client) JsonArrPop(c context.Context, key, path string, index int) *redis.StringCmd
- func (cl Client) JsonArrTrim(c context.Context, key, path string, start, stop int) *redis.IntCmd
- func (cl Client) JsonDel(c context.Context, key, path string) *redis.IntCmd
- func (cl Client) JsonGet(c context.Context, key string, args ...interface{}) *redis.StringCmd
- func (cl Client) JsonMGet(c context.Context, key string, args ...interface{}) *redis.StringSliceCmd
- func (cl Client) JsonNumIncrBy(c context.Context, key, path string, num int) *redis.StringCmd
- func (cl Client) JsonNumMultBy(c context.Context, key, path string, num int) *redis.StringCmd
- func (cl Client) JsonObjKeys(c context.Context, key, path string) *redis.StringSliceCmd
- func (cl Client) JsonObjLen(c context.Context, key, path string) *redis.IntCmd
- func (cl Client) JsonSet(c context.Context, key, path, json string, args ...interface{}) *redis.StatusCmd
- func (cl Client) JsonStrAppend(c context.Context, key, path, appendString string) *redis.IntCmd
- func (cl Client) JsonStrLen(c context.Context, key, path string) *redis.IntCmd
- func (cl Client) JsonType(c context.Context, key, path string) *redis.StringCmd
- func (cl *Client) Pipeline() *Pipeline
- func (cl *Client) TXPipeline() *Pipeline
- type Pipeline
- func (cl Pipeline) JsonArrAppend(c context.Context, key, path string, jsons ...interface{}) *redis.IntCmd
- func (cl Pipeline) JsonArrIndex(c context.Context, key, path string, jsonScalar interface{}, ...) *redis.IntCmd
- func (cl Pipeline) JsonArrInsert(c context.Context, key, path string, index int, jsons ...interface{}) *redis.IntCmd
- func (cl Pipeline) JsonArrLen(c context.Context, key, path string) *redis.IntCmd
- func (cl Pipeline) JsonArrPop(c context.Context, key, path string, index int) *redis.StringCmd
- func (cl Pipeline) JsonArrTrim(c context.Context, key, path string, start, stop int) *redis.IntCmd
- func (cl Pipeline) JsonDel(c context.Context, key, path string) *redis.IntCmd
- func (cl Pipeline) JsonGet(c context.Context, key string, args ...interface{}) *redis.StringCmd
- func (cl Pipeline) JsonMGet(c context.Context, key string, args ...interface{}) *redis.StringSliceCmd
- func (cl Pipeline) JsonNumIncrBy(c context.Context, key, path string, num int) *redis.StringCmd
- func (cl Pipeline) JsonNumMultBy(c context.Context, key, path string, num int) *redis.StringCmd
- func (cl Pipeline) JsonObjKeys(c context.Context, key, path string) *redis.StringSliceCmd
- func (cl Pipeline) JsonObjLen(c context.Context, key, path string) *redis.IntCmd
- func (cl Pipeline) JsonSet(c context.Context, key, path, json string, args ...interface{}) *redis.StatusCmd
- func (cl Pipeline) JsonStrAppend(c context.Context, key, path, appendString string) *redis.IntCmd
- func (cl Pipeline) JsonStrLen(c context.Context, key, path string) *redis.IntCmd
- func (cl Pipeline) JsonType(c context.Context, key, path string) *redis.StringCmd
- func (pl *Pipeline) Pipeline() *Pipeline
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct { *redis.Client // contains filtered or unexported fields }
Client is an extended redis.Client, stores a pointer to the original redis.Client
func ExtendClient ¶
func ExtendClient(client *redis.Client) *Client
Example ¶
ctx := context.Background() goRedisClient := redis.NewClient(&redis.Options{ Addr: "localhost:6379", }) client := rejonson.ExtendClient(goRedisClient) defer client.Close() arr := []interface{}{"hello", "world", 1, map[string]interface{}{"key": 12}} js, err := json.Marshal(arr) if err != nil { // handle } // redis "native" command client.Set(ctx, "go-redis-cmd", "hello", time.Second) client.JsonSet(ctx, "rejson-cmd", ".", string(js)) // int command arrLen, err := client.JsonArrLen(ctx, "rejson-cmd", ".").Result() if err != nil { // handle } fmt.Printf("Array length: %d", arrLen)
Output: Array length: 4
func (Client) JsonArrAppend ¶
func (Client) JsonArrIndex ¶
func (Client) JsonArrInsert ¶
func (Client) JsonArrLen ¶
func (Client) JsonArrPop ¶
func (Client) JsonArrTrim ¶
func (Client) JsonDel ¶
JsonDel
returns intCmd -> deleted 1 or 0 read more: https://oss.redislabs.com/rejson/commands/#jsondel
func (Client) JsonGet ¶
JsonGet
Possible args:
(Optional) INDENT + indent-string (Optional) NEWLINE + line-break-string (Optional) SPACE + space-string (Optional) NOESCAPE (Optional) path ...string
returns stringCmd -> the JSON string read more: https://oss.redislabs.com/rejson/commands/#jsonget
func (Client) JsonNumIncrBy ¶
func (Client) JsonNumMultBy ¶
func (Client) JsonObjKeys ¶
func (Client) JsonObjLen ¶
func (Client) JsonSet ¶
func (cl Client) JsonSet(c context.Context, key, path, json string, args ...interface{}) *redis.StatusCmd
jsonSet
Possible args: (Optional)
func (Client) JsonStrAppend ¶
func (Client) JsonStrLen ¶
func (*Client) TXPipeline ¶
type Pipeline ¶
type Pipeline struct { redis.Pipeliner // contains filtered or unexported fields }
Pipeline is an extended redis.Pipeline, stores a pointer to the original redis.Pipeliner
func ExtendPipeline ¶
func ExtendPipeline(pipeline redis.Pipeliner) *Pipeline
Example ¶
ctx := context.Background() goRedisClient := redis.NewClient(&redis.Options{ Addr: "localhost:6379", }) client := rejonson.ExtendClient(goRedisClient) pipeline := client.Pipeline() pipeline.JsonSet(ctx, "rejson-cmd-pipeline", ".", "[10]") pipeline.JsonNumMultBy(ctx, "rejson-cmd-pipeline", "[0]", 10) pipeline.Set(ctx, "go-redis-pipeline-command", "hello from go-redis", time.Second) _, err := pipeline.Exec() if err != nil { // handle error } jsonString, err := client.JsonGet(ctx, "rejson-cmd-pipeline").Result() if err != nil { // handle error } fmt.Printf("Array %s", jsonString)
Output: Array [100]
func (Pipeline) JsonArrAppend ¶
func (Pipeline) JsonArrIndex ¶
func (Pipeline) JsonArrInsert ¶
func (Pipeline) JsonArrLen ¶
func (Pipeline) JsonArrPop ¶
func (Pipeline) JsonArrTrim ¶
func (Pipeline) JsonDel ¶
JsonDel
returns intCmd -> deleted 1 or 0 read more: https://oss.redislabs.com/rejson/commands/#jsondel
func (Pipeline) JsonGet ¶
JsonGet
Possible args:
(Optional) INDENT + indent-string (Optional) NEWLINE + line-break-string (Optional) SPACE + space-string (Optional) NOESCAPE (Optional) path ...string
returns stringCmd -> the JSON string read more: https://oss.redislabs.com/rejson/commands/#jsonget
func (Pipeline) JsonNumIncrBy ¶
func (Pipeline) JsonNumMultBy ¶
func (Pipeline) JsonObjKeys ¶
func (Pipeline) JsonObjLen ¶
func (Pipeline) JsonSet ¶
func (cl Pipeline) JsonSet(c context.Context, key, path, json string, args ...interface{}) *redis.StatusCmd
jsonSet
Possible args: (Optional)