1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
func TestInsertList(t *testing.T) {
// 连接redis
client, _ := ConnectSingle()
ctx := context.Background()
key := "insertList"
//从列表头部插入,不存在则新建并插入数据
for _, val := range []string{"php", "go"} {
// 插入头部(左边)
client.LPush(ctx, key, val)
// 获取
result, _ := client.LRange(ctx, key, 0, -1).Result()
fmt.Printf("LPush 从头部插入【%v】: %v\n", val,result)
}
// 从列表尾部插入
for _,val := range []string{"张三","李四"} {
// 插入尾部(右边)
client.RPush(ctx, key, val)
// 获取
result, _ := client.LRange(ctx, key, 0, -1).Result()
fmt.Printf("RPush 从尾部插入【%v】: %v\n", val,result)
}
result, _ := client.LRange(ctx, key, 0, -1).Result()
fmt.Printf("当前列表所有值: %+v\n", result)
// 在指定的值前插入
client.LInsertBefore(ctx,key,"php","php5.6")
result, _ = client.LRange(ctx, key, 0, -1).Result()
fmt.Printf("在php前插入%v,当前列表所有值: %v\n", "php5.6",result)
// 在指定的值后插入
client.LInsertAfter(ctx,key,"go","go1.0")
result, _ = client.LRange(ctx, key, 0, -1).Result()
fmt.Printf("在go后插入%v,当前列表所有值: %v\n", "go1.0",result)
}
/**输出
=== RUN TestInsertList
LPush 从头部插入【php】: [php]
LPush 从头部插入【go】: [go php]
RPush 从尾部插入【张三】: [go php 张三]
RPush 从尾部插入【李四】: [go php 张三 李四]
当前列表所有值: [go php 张三 李四]
在php前插入php5.6,当前列表所有值: [go php5.6 php 张三 李四]
在go后插入go1.0,当前列表所有值: [go go1.0 php5.6 php 张三 李四]
--- PASS: TestInsertList (0.04s)
PASS
*/
|