1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package redis
- import (
- "context"
- "go-common/library/cache/redis"
- "go-common/library/log"
- )
- //SetMulti setex key expire val, kvs as multi key val
- func (d *Dao) SetMulti(c context.Context, kvs map[string]string) (err error) {
- if len(kvs) == 0 {
- return
- }
- conn := d.cluster.Get(c)
- defer conn.Close()
- //拼接参数
- for key, val := range kvs {
- if err = conn.Send("SETEX", key, d.netExpire, val); err != nil {
- log.Error("SetMulti conn.send(SETEX) error(%v)", err)
- return
- }
- }
- if err = conn.Flush(); err != nil {
- log.Error("SetMulti conn.Flush error(%v)", err)
- }
- return
- }
- //MGet get multi key value
- func (d *Dao) MGet(c context.Context, keys ...string) (dest []string, err error) {
- //检测参数
- if len(keys) == 0 {
- return
- }
- //拼接查询参数+ redis请求
- args := redis.Args{}
- for _, item := range keys {
- args = args.Add(item)
- }
- conn := d.cluster.Get(c)
- defer conn.Close()
- if dest, err = redis.Strings(conn.Do("MGET", args...)); err != nil {
- log.Error("MGet conn.Do(mget) error(%v) args(%+v)", err, args)
- }
- return
- }
- //DelMulti del redis keys
- func (d *Dao) DelMulti(c context.Context, keys ...string) (err error) {
- if len(keys) == 0 {
- return
- }
- conn := d.cluster.Get(c)
- defer conn.Close()
- args := redis.Args{}
- for _, k := range keys {
- args = args.Add(k)
- }
- if _, err = redis.Int(conn.Do("DEL", args...)); err != nil {
- log.Error("DelMulti conn.Do(del) error(%v) args(%+v)", err, args)
- }
- return
- }
|