This commit is contained in:
cdle
2023-06-14 18:12:25 +08:00
parent 9314209c08
commit b125da91fd
4 changed files with 83 additions and 16 deletions
+31
View File
@@ -113,6 +113,37 @@ func (bucket *Bucket) Delete() error {
return err
}
func (bucket *Bucket) Set2(key interface{}, value interface{}) (string, error) {
new := ""
msg := ""
k := fmt.Sprint(key)
switch value := value.(type) {
case []byte:
new = string(value)
case string:
new = value
case nil:
default:
new = fmt.Sprint(value)
}
return msg, db.Update(func(tx *bolt.Tx) error {
b, err := tx.CreateBucketIfNotExists([]byte(bucket.name))
if err != nil {
return err
}
if new == "" {
if err := b.Delete([]byte(k)); err != nil {
return err
}
} else {
if err := b.Put([]byte(k), []byte(new)); err != nil {
return err
}
}
return nil
})
}
func (bucket *Bucket) Set(key interface{}, value interface{}) (string, error) {
new := ""
msg := ""
+1
View File
@@ -21,6 +21,7 @@ var DisableHandle = func(uuid string) {
type Bucket interface {
Set(interface{}, interface{}) (string, error)
Set2(interface{}, interface{}) (string, error)
Copy(string) Bucket
IsEmpty() (bool, error)
Size() (int64, error)
+25
View File
@@ -177,6 +177,31 @@ func Get(key string) string {
return v
}
func (bucket *Bucket) Set2(key interface{}, value interface{}) (string, error) {
new := ""
msg := ""
k := fmt.Sprint(key)
switch value := value.(type) {
case []byte:
new = string(value)
case string:
new = value
case nil:
default:
new = fmt.Sprint(value)
}
if !utils.SlaveMode {
if new == "" {
return msg, db.HDel(ctx, bucket.name, k).Err()
} else {
return msg, db.HSet(ctx, bucket.name, k, new).Err()
}
} else {
return toMaster(bucket.name, k, new)
}
}
func (bucket *Bucket) Set(key interface{}, value interface{}) (string, error) {
new := ""
msg := ""