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 any) error Get(sid, key string) (any, 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{} }