GolangNote

Golang笔记

对ssdb go sdk hissdb 的一点补充

Permalink

有时候只需返回key-value 格式数据,go 的map 或python 的dict,而原有的Hash() 返回的是一个带着key 查询顺序的列表。

ssdb go sdk hissdb

reply.go

Go: ssdb sdk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
func (r *Reply) Dict() map[string]string {

    dict := make(map[string]string)

    if len(r.Data) < 2 {
        return dict
    }

    for i := 0; i < (len(r.Data) - 1); i += 2 {
        dict[r.Data[i]] = r.Data[i+1]
    }

    return dict
}

示例:

Go: ssdb sdk
1
2
3
4
5
6
7
8
9
10
11
12
13
if rs := conn.Cmd("multi_get", "aa", "bb", "cc"); rs.State == "ok" {
    fmt.Println("multi_get OK")
    for _, v := range rs.Hash() {
        fmt.Println("\t", v.Key, v.Value)
    }
}

if rs := conn.Cmd("multi_get", "cc", "bb", "aa"); rs.State == "ok" {
    fmt.Println("multi_get OK")
    for k, v := range rs.Dict() {
        fmt.Println("\t", k, v)
    }
}

输出:

Bash: out put
1
2
3
4
5
6
7
8
multi_get OK
     aa newaa2
     bb newbb2
     cc newaa2
multi_get OK
     aa newaa2
     cc newaa2
     bb newbb2

修改后的代码 https://github.com/ego008/hissdb

Related articles

goji + SSDB 构建的应用

已经过了学生的年纪,学习新东西不那么快,尝试从python 转向golang,就从博客程序开始。...

Write a Comment to "对ssdb go sdk hissdb 的一点补充"

Submit Comment Login
Based on Golang + fastHTTP + sdb | go1.16.5 Processed in 0ms