Compare commits
6 Commits
Author | SHA1 | Date |
---|---|---|
|
8273a9137a | |
|
c9ca8e5beb | |
|
d28b408b04 | |
|
6e5d77352c | |
|
2df5f01cfd | |
|
02d4d08328 |
|
@ -11,10 +11,10 @@ func DelWithPrefix(ctx context.Context, prefix string) {
|
|||
for iter.Next(ctx) {
|
||||
err := rdb.Del(ctx, iter.Val()).Err()
|
||||
if err != nil {
|
||||
fmt.Println("Cannot delete redis key with prefix", prefix)
|
||||
fmt.Println("[redisdb] cannot delete redis key with prefix", prefix)
|
||||
}
|
||||
}
|
||||
if err := iter.Err(); err != nil {
|
||||
fmt.Println("Cannot (LOOP) delete redis key with prefix", prefix)
|
||||
fmt.Println("[redisdb] cannot (LOOP) delete redis key with prefix", prefix)
|
||||
}
|
||||
}
|
||||
|
|
14
go.mod
14
go.mod
|
@ -1,9 +1,17 @@
|
|||
module github.com/Selly-Modules/redisdb
|
||||
module git.selly.red/Selly-Modules/redisdb
|
||||
|
||||
go 1.16
|
||||
go 1.19
|
||||
|
||||
require (
|
||||
github.com/go-redis/redis/v8 v8.11.4
|
||||
github.com/go-redsync/redsync/v4 v4.5.0
|
||||
github.com/logrusorgru/aurora v2.0.3+incompatible
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/cespare/xxhash/v2 v2.1.2 // indirect
|
||||
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
|
||||
github.com/hashicorp/errwrap v1.0.0 // indirect
|
||||
github.com/hashicorp/go-multierror v1.1.0 // indirect
|
||||
golang.org/x/net v0.1.0 // indirect
|
||||
golang.org/x/sys v0.1.0 // indirect
|
||||
)
|
||||
|
|
10
go.sum
10
go.sum
|
@ -41,8 +41,6 @@ github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpO
|
|||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/logrusorgru/aurora v2.0.3+incompatible h1:tOpm7WcpBTn4fjmVfgpQq0EfczGlG91VSDkswnjF5A8=
|
||||
github.com/logrusorgru/aurora v2.0.3+incompatible/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4=
|
||||
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
|
||||
github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
|
||||
github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU=
|
||||
|
@ -72,8 +70,9 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL
|
|||
golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
|
||||
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||
golang.org/x/net v0.0.0-20210428140749-89ef3d95e781 h1:DzZ89McO9/gWPsQXS/FVKAlG02ZjaQ6AlZRBimEYOd0=
|
||||
golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk=
|
||||
golang.org/x/net v0.1.0 h1:hZ/3BUoy5aId7sCpA/Tc5lt8DkFgdVS2onTpJsZ/fl0=
|
||||
golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco=
|
||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
|
@ -88,14 +87,15 @@ golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7w
|
|||
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da h1:b3NXsE2LusjYGGjL5bxEVZZORm/YEFFrWFjR8eFrw/c=
|
||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=
|
||||
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M=
|
||||
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
package redisdb
|
||||
|
||||
import "time"
|
||||
|
||||
type allOptions struct {
|
||||
ttl time.Duration
|
||||
}
|
||||
|
||||
type Options interface {
|
||||
apply(*allOptions)
|
||||
}
|
||||
|
||||
//
|
||||
// TTL
|
||||
//
|
||||
|
||||
type ttlOption struct {
|
||||
Value time.Duration
|
||||
}
|
||||
|
||||
func (o ttlOption) apply(opts *allOptions) {
|
||||
opts.ttl = o.Value
|
||||
}
|
||||
func WithTTL(value time.Duration) Options {
|
||||
return ttlOption{Value: value}
|
||||
}
|
11
redisdb.go
11
redisdb.go
|
@ -5,7 +5,6 @@ import (
|
|||
"fmt"
|
||||
|
||||
"github.com/go-redis/redis/v8"
|
||||
"github.com/logrusorgru/aurora"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@ -25,17 +24,11 @@ func Connect(uri, password string) error {
|
|||
// Ping
|
||||
_, err := rdb.Ping(ctx).Result()
|
||||
if err != nil {
|
||||
fmt.Println("Error when connect to Redis", uri, err)
|
||||
fmt.Printf("[redisdb] connect to %s error: %s \n", uri, err.Error())
|
||||
return err
|
||||
}
|
||||
|
||||
fmt.Println(aurora.Green("*** CONNECTED TO REDIS: " + uri))
|
||||
fmt.Printf("⚡️[redis]: connected to %s \n", uri)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ import (
|
|||
func SetKeyValue(ctx context.Context, key string, value interface{}) {
|
||||
b, err := json.Marshal(value)
|
||||
if err != nil {
|
||||
fmt.Println("redisdb - SetKeyValue error", err.Error())
|
||||
fmt.Printf("[redisdb] SetKeyValue error: %s - data: %s - %v \n", err.Error(), key, value)
|
||||
return
|
||||
}
|
||||
rdb.Set(ctx, key, b, 0)
|
||||
|
@ -21,7 +21,7 @@ func SetKeyValue(ctx context.Context, key string, value interface{}) {
|
|||
func SetTTL(ctx context.Context, key string, value interface{}, d time.Duration) {
|
||||
b, err := json.Marshal(value)
|
||||
if err != nil {
|
||||
fmt.Println("redisdb - SetTTL error", err.Error())
|
||||
fmt.Printf("[redisdb] SetTTL error: %s - data: %s - %d - %v \n", err.Error(), key, d, value)
|
||||
return
|
||||
}
|
||||
rdb.Set(ctx, key, b, d)
|
||||
|
|
Loading…
Reference in New Issue