镜像自地址
https://github.com/tuna/tunasync.git
已同步 2025-12-06 14:36:47 +00:00
Add redis backend for db
这个提交包含在:
@@ -5,6 +5,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/boltdb/bolt"
|
||||
"github.com/go-redis/redis/v8"
|
||||
|
||||
. "github.com/tuna/tunasync/internal"
|
||||
)
|
||||
@@ -24,6 +25,11 @@ type dbAdapter interface {
|
||||
Close() error
|
||||
}
|
||||
|
||||
const (
|
||||
_workerBucketKey = "workers"
|
||||
_statusBucketKey = "mirror_status"
|
||||
)
|
||||
|
||||
func makeDBAdapter(dbType string, dbFile string) (dbAdapter, error) {
|
||||
if dbType == "bolt" {
|
||||
innerDB, err := bolt.Open(dbFile, 0600, &bolt.Options{
|
||||
@@ -38,6 +44,15 @@ func makeDBAdapter(dbType string, dbFile string) (dbAdapter, error) {
|
||||
}
|
||||
err = db.Init()
|
||||
return &db, err
|
||||
} else if dbType == "redis" {
|
||||
innerDB := redis.NewClient(&redis.Options{
|
||||
Addr: dbFile,
|
||||
})
|
||||
db := redisAdapter{
|
||||
db: innerDB,
|
||||
}
|
||||
err := db.Init()
|
||||
return &db, err
|
||||
}
|
||||
// unsupported db-type
|
||||
return nil, fmt.Errorf("unsupported db-type: %s", dbType)
|
||||
|
||||
在新工单中引用
屏蔽一个用户