iris/sessions/sessiondb/redis/driver.go
Gerasimos (Makis) Maropoulos cc7e3860f2
fix #1610 #1651 - read HISTORY.md
2020-10-04 16:50:21 +03:00

31 lines
854 B
Go

package redis
import "time"
// 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(sid, key string, value interface{}) error
Get(sid, key string) (interface{}, error)
Exists(sid string) bool
TTL(sid string) time.Duration
UpdateTTL(sid string, newLifetime time.Duration) error
GetAll(sid string) (map[string]string, error)
GetKeys(sid string) ([]string, error)
Len(sid string) int
Delete(sid, key string) error
}
var (
_ Driver = (*GoRedisDriver)(nil)
)
// GoRedis returns the default Driver for the redis sessions database
// It's the go-redis client. Learn more at: https://github.com/go-redis/redis.
func GoRedis() *GoRedisDriver {
return &GoRedisDriver{}
}