x
This commit is contained in:
@@ -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 := ""
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 := ""
|
||||
|
||||
Reference in New Issue
Block a user