本文整理匯總了Golang中github.com/guileen/ferrydb/pkg/engine.Batch.Set方法的典型用法代碼示例。如果您正苦於以下問題:Golang Batch.Set方法的具體用法?Golang Batch.Set怎麽用?Golang Batch.Set使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/guileen/ferrydb/pkg/engine.Batch
的用法示例。
在下文中一共展示了Batch.Set方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: storeObject
func (o *stringRow) storeObject(s *Store, bt *engine.Batch, expireat int64, obj interface{}) error {
value, ok := obj.(rdb.String)
if !ok || len(value) == 0 {
return errors.Trace(ErrObjectValue)
}
o.ExpireAt, o.Value = expireat, value
bt.Set(o.DataKey(), o.DataValue())
bt.Set(o.MetaKey(), o.MetaValue())
return nil
}
示例2: storeObject
func (o *listRow) storeObject(s *Store, bt *engine.Batch, expireat int64, obj interface{}) error {
list, ok := obj.(rdb.List)
if !ok || len(list) == 0 {
return errors.Trace(ErrObjectValue)
}
for i, e := range list {
if len(e) != 0 {
continue
}
return errArguments("list[%d], len(value) = %d", i, len(e))
}
for i, value := range list {
o.Index, o.Value = int64(i), value
bt.Set(o.DataKey(), o.DataValue())
}
o.Lindex, o.Rindex = 0, int64(len(list))
o.ExpireAt = expireat
bt.Set(o.MetaKey(), o.MetaValue())
return nil
}
示例3: storeObject
func (o *setRow) storeObject(s *Store, bt *engine.Batch, expireat int64, obj interface{}) error {
set, ok := obj.(rdb.Set)
if !ok || len(set) == 0 {
return errors.Trace(ErrObjectValue)
}
for i, m := range set {
if len(m) != 0 {
continue
}
return errArguments("set[%d], len(member) = %d", i, len(m))
}
ms := &markSet{}
for _, o.Member = range set {
ms.Set(o.Member)
bt.Set(o.DataKey(), o.DataValue())
}
o.Size, o.ExpireAt = ms.Len(), expireat
bt.Set(o.MetaKey(), o.MetaValue())
return nil
}
示例4: storeObject
func (o *zsetRow) storeObject(s *Store, bt *engine.Batch, expireat int64, obj interface{}) error {
zset, ok := obj.(rdb.ZSet)
if !ok || len(zset) == 0 {
return errors.Trace(ErrObjectValue)
}
for i, e := range zset {
if e == nil {
return errArguments("zset[%d] is nil", i)
}
if len(e.Member) == 0 {
return errArguments("zset[%d], len(member) = %d", i, len(e.Member))
}
}
ms := &markSet{}
for _, e := range zset {
o.Member, o.Score = e.Member, e.Score
if math.IsNaN(o.Score) {
return errors.Errorf("invalid nan score")
}
ms.Set(o.Member)
bt.Set(o.DataKey(), o.DataValue())
bt.Set(o.IndexKey(), o.IndexValue())
}
o.Size, o.ExpireAt = ms.Len(), expireat
bt.Set(o.MetaKey(), o.MetaValue())
return nil
}
示例5: storeObject
func (o *hashRow) storeObject(s *Store, bt *engine.Batch, expireat int64, obj interface{}) error {
hash, ok := obj.(rdb.Hash)
if !ok || len(hash) == 0 {
return errors.Trace(ErrObjectValue)
}
for i, e := range hash {
if e == nil {
return errArguments("hash[%d] is nil", i)
}
if len(e.Field) == 0 || len(e.Value) == 0 {
return errArguments("hash[%d], len(field) = %d, len(value) = %d", i, len(e.Field), len(e.Value))
}
}
ms := &markSet{}
for _, e := range hash {
o.Field, o.Value = e.Field, e.Value
ms.Set(o.Field)
bt.Set(o.DataKey(), o.DataValue())
}
o.Size, o.ExpireAt = ms.Len(), expireat
bt.Set(o.MetaKey(), o.MetaValue())
return nil
}