mirror of
https://github.com/kataras/iris.git
synced 2026-01-03 18:27:07 +00:00
redis sessiondb: support more than one driver - builtin redigo(default) and radix - rel to: #1328
Former-commit-id: 1eee58f2c49f64899fffc3ad61bcf074f8949cc1
This commit is contained in:
34
sessions/sessiondb/redis/driver.go
Normal file
34
sessions/sessiondb/redis/driver.go
Normal file
@@ -0,0 +1,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{}
|
||||
}
|
||||
Reference in New Issue
Block a user