mirror of
https://github.com/tuna/tunasync.git
synced 2025-04-20 11:42:43 +00:00
52 lines
1.0 KiB
Go
52 lines
1.0 KiB
Go
package manager
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/go-redis/redis/v8"
|
|
)
|
|
|
|
type redisAdapter struct {
|
|
db *redis.Client
|
|
}
|
|
|
|
var ctx = context.Background()
|
|
|
|
func (b *redisAdapter) InitBucket(bucket string) (err error) {
|
|
// no-op
|
|
return
|
|
}
|
|
|
|
func (b *redisAdapter) Get(bucket string, key string) (v []byte, err error) {
|
|
var val string
|
|
val, err = b.db.HGet(ctx, bucket, key).Result()
|
|
v = []byte(val)
|
|
return
|
|
}
|
|
|
|
func (b *redisAdapter) GetAll(bucket string) (m map[string][]byte, err error) {
|
|
var val map[string]string
|
|
val, err = b.db.HGetAll(ctx, bucket).Result()
|
|
if err == nil && val != nil {
|
|
m = make(map[string][]byte)
|
|
for k, v := range val {
|
|
m[k] = []byte(v)
|
|
}
|
|
}
|
|
return
|
|
}
|
|
|
|
func (b *redisAdapter) Put(bucket string, key string, value []byte) error {
|
|
_, err := b.db.HSet(ctx, bucket, key, string(value)).Result()
|
|
return err
|
|
}
|
|
|
|
func (b *redisAdapter) Delete(bucket string, key string) error {
|
|
_, err := b.db.HDel(ctx, bucket, key).Result()
|
|
return err
|
|
}
|
|
|
|
func (b *redisAdapter) Close() error {
|
|
return b.db.Close()
|
|
}
|