-
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
/
driver.go
34 lines (30 loc) · 1 KB
/
driver.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package redis
// Driver is the interface which each supported redis client
// should support in order to be used in the redis session database.
type Driver interface {
Connect(c Config) error
PingPong() (bool, error)
CloseConnection() error
Set(key string, value interface{}, secondsLifetime int64) error
Get(key string) (interface{}, error)
TTL(key string) (seconds int64, hasExpiration bool, found bool)
UpdateTTL(key string, newSecondsLifeTime int64) error
UpdateTTLMany(prefix string, newSecondsLifeTime int64) error
GetAll() (interface{}, error)
GetKeys(prefix string) ([]string, error)
Delete(key string) error
}
var (
_ Driver = (*RedigoDriver)(nil)
_ Driver = (*RadixDriver)(nil)
)
// Redigo returns the driver for the redigo go redis client.
// Which is the default one.
// You can customize further any specific driver's properties.
func Redigo() *RedigoDriver {
return &RedigoDriver{}
}
// Radix returns the driver for the radix go redis client.
func Radix() *RadixDriver {
return &RadixDriver{}
}