前言
Go语言通过github.com/redis/go-redis/v9
包操作Redis学习笔记
下载依赖
1
| go get github.com/redis/go-redis/v9
|
获取Redis连接
1 2 3 4 5 6
| var ctx context.Context = context.Background() var rdb *redis.Client = redis.NewClient(&redis.Options{ Addr: "127.0.0.1:6379", Password: "", DB: 0, })
|
字符串
新增或修改
不指定过期时间
1
| err := rdb.Set(ctx, "key", "value", 0).Err()
|
指定过期时间
1
| err := rdb.Set(ctx, "key", "value", time.Now()).Err()
|
删除
1
| err := rdb.Del(ctx, "key").Err()
|
查询
1
| res, err := rdb.Get(ctx, "key").Result()
|
判断是否存在
1 2 3 4 5 6 7 8 9
| if _, err := rdb.Get("ctx", "key").Result(); err != nil { if err == redis.Nil { } else { } } else { }
|
数组
向数组末尾追加元素
1
| err := rdb.RPush(ctx, "key", "value").Err()
|
删除数组
1
| err := rdb.Del(ctx, "key").Err()
|
查询数组长度
1
| res, err := rdb.LLen(ctx, "key").Result()
|
查询指定索引的数据
1
| res, err := rdb.LRange(ctx, "key", 0, 1).Result()
|
查询全部数据
1 2
| length, err := rdb.LLen(ctx, "key").Result() res, err := rdb.LRange(ctx, "key", 0, length-1).Result()
|
完成
参考文献
后浪云