本文整理匯總了Golang中github.com/rod6/rodis/resp.Array.WriteTo方法的典型用法代碼示例。如果您正苦於以下問題:Golang Array.WriteTo方法的具體用法?Golang Array.WriteTo怎麽用?Golang Array.WriteTo使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/rod6/rodis/resp.Array
的用法示例。
在下文中一共展示了Array.WriteTo方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: hmget
func hmget(v resp.CommandArgs, ex *CommandExtras) error {
if len(v) < 2 {
return resp.NewError(ErrFmtWrongNumberArgument, "hmget").WriteTo(ex.Buffer)
}
ex.DB.RLock()
defer ex.DB.RUnlock()
keyExists, tipe, _ := ex.DB.Has(v[0])
if keyExists && tipe != storage.Hash {
return resp.NewError(ErrWrongType).WriteTo(ex.Buffer)
}
fields := [][]byte{}
for _, field := range v[1:] {
fields = append(fields, []byte(field))
}
hash := ex.DB.GetHashFields(v[0], fields)
arr := resp.Array{}
for _, value := range hash {
arr = append(arr, resp.BulkString(value))
}
return arr.WriteTo(ex.Buffer)
}
示例2: hgetall
func hgetall(v resp.CommandArgs, ex *CommandExtras) error {
ex.DB.RLock()
defer ex.DB.RUnlock()
keyExists, tipe, _ := ex.DB.Has(v[0])
if !keyExists {
return resp.EmptyArray.WriteTo(ex.Buffer)
}
if keyExists && tipe != storage.Hash {
return resp.NewError(ErrWrongType).WriteTo(ex.Buffer)
}
hash := ex.DB.GetHash(v[0])
arr := resp.Array{}
for field, value := range hash {
arr = append(arr, resp.BulkString([]byte(field)), resp.BulkString(value))
}
return arr.WriteTo(ex.Buffer)
}
示例3: hkeys
func hkeys(v resp.CommandArgs, ex *CommandExtras) error {
ex.DB.RLock()
defer ex.DB.RUnlock()
keyExists, tipe, _ := ex.DB.Has(v[0])
if !keyExists {
return resp.EmptyArray.WriteTo(ex.Buffer)
}
if keyExists && tipe != storage.Hash {
return resp.NewError(ErrWrongType).WriteTo(ex.Buffer)
}
fields := ex.DB.GetHashFieldNames(v[0])
arr := resp.Array{}
for _, field := range fields {
arr = append(arr, resp.BulkString(field))
}
return arr.WriteTo(ex.Buffer)
}