38 lines
996 B
Go
38 lines
996 B
Go
package consumer
|
||
|
||
import (
|
||
"context"
|
||
|
||
"go-common/library/log"
|
||
)
|
||
|
||
//实时消费缓存设计,异步落地
|
||
|
||
const VALUE = "value"
|
||
const DATE = "date" //是否最新消息,是为1(需要刷新到DB) 否为0(不需要刷新到DB)
|
||
const DATE_1 = "1"
|
||
|
||
//Set 设置实时数据
|
||
func (d *Dao) Set(ctx context.Context, redisKey string, value string, timeOut int) (err error) {
|
||
conn := d.redis.Get(ctx)
|
||
defer conn.Close()
|
||
if _, err = conn.Do("HMSET", redisKey, VALUE, value, DATE, DATE_1); err != nil {
|
||
log.Error("consumer_set_err:key=%s;err=%v", redisKey, err)
|
||
return
|
||
}
|
||
conn.Do("EXPIRE", redisKey, timeOut)
|
||
return
|
||
}
|
||
|
||
//Incr 设置增加数据
|
||
func (d *Dao) Incr(ctx context.Context, redisKey string, num int64, timeOut int) (err error) {
|
||
conn := d.redis.Get(ctx)
|
||
defer conn.Close()
|
||
if _, err = conn.Do("HINCRBY", redisKey, VALUE, num, DATE, DATE_1); err != nil {
|
||
log.Error("consumer_incr_err:key=%s;err=%v", redisKey, err)
|
||
return
|
||
}
|
||
conn.Do("EXPIRE", redisKey, timeOut)
|
||
return
|
||
}
|