feat: database as plugin

This commit is contained in:
 Ilya Atamas
2019-04-22 12:49:19 +03:00
parent ab36f4f081
commit 838154ce9c
10 changed files with 82 additions and 41 deletions

31
proxy/database_redis.go Normal file
View File

@@ -0,0 +1,31 @@
package proxy
import (
"time"
"github.com/go-redis/redis"
)
type DatabaseRedis struct {
Client *redis.Client
}
func (db DatabaseRedis) Get(key string) (string, error) {
return db.Client.Get(key).Result()
}
func (db DatabaseRedis) Set(key string, value string, expiration time.Duration) error {
return db.Client.Set(key, value, expiration).Err()
}
func (db DatabaseRedis) Delete(key string) error {
return db.Client.Del(key).Err()
}
func (db DatabaseRedis) Keys(prefix string) ([]string, error) {
return db.Client.Keys(prefix + "*").Result()
}
func (db DatabaseRedis) Health() error {
return db.Client.Ping().Err()
}