diff --git a/redis/redis.go b/redis/redis.go index cb305b8801abe4b3df18ecf5d789cfb5ca58396c..98972ed47dd4b2d58667a83ceff76db2f5d59f1f 100644 --- a/redis/redis.go +++ b/redis/redis.go @@ -308,3 +308,29 @@ func (r ClientWithHelpers) KeepLockKeyAlive(key string, expiration time.Duration _ = r.Client.Expire(ctx, key, expiration) } + +func (r ClientWithHelpers) IncrementCounter(key string) *int64 { + if !r.IsConnected() { + return nil + } + + val, err := r.Client.Incr(ctx, key).Result() + if err != nil { + return nil + } + + return &val +} + +func (r ClientWithHelpers) DecrementCounter(key string) *int64 { + if !r.IsConnected() { + return nil + } + + val, err := r.Client.Decr(ctx, key).Result() + if err != nil { + return nil + } + + return &val +}