You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
996 B
37 lines
996 B
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 |
|
}
|
|
|