【Go开源宝藏】Go 语言操作 Redis(二)
【摘要】 3. String 操作 3.1 Set & GetSet 源码可以看到这个set的第一个参数就是key,第二个参数是value,第三个参数就是过期时间。Get 源码set Key、Value以及过期时间Key 为Fan,Value为One,过期时间为3sredisClient.Set("Fan","One",3*time.Second)在3s内打印出来val := redisClient...
3. String 操作
3.1 Set & Get
Set 源码
可以看到这个set的第一个参数就是key,第二个参数是value,第三个参数就是过期时间。

Get 源码

- set Key、Value以及过期时间
Key 为Fan,Value为One,过期时间为3s
redisClient.Set("Fan","One",3*time.Second)
- 在
3s内打印出来
val := redisClient.Get("Fan")
if val == nil {
fmt.Println("Value get error")
}
3s过后
time.Sleep(3*time.Second)
fmt.Println("3s passing")
val = redisClient.Get("Fan")
fmt.Println("name ", val)
- 结果
第一个是在3s内,是可以打印出来的。
第二个是过了3s的,已经是nil了。

** del 操作与 get 操作类似。**
3.2 Incr & Incrby
3.2.1 Incr 加 1
redisClient.Set("Fan", "1", 3*time.Second)
val := redisClient.Get("Fan")
if val == nil {
fmt.Println("Value get error")
}
fmt.Println("Incr before:", val)
num := redisClient.Incr("Fan")
fmt.Println("Incr after:", num)
- 结果

3.2.2 Incrby 加 val
Incrby(key, integer):名称为key的string增加integer
redisClient.Set("One", "1", 3*time.Second)
val := redisClient.Get("One")
if val == nil {
fmt.Println("Value get error")
}
fmt.Println("IncrBy before:", val)
num := redisClient.IncrBy("One",2)
fmt.Println("IncrBy after:", num)
- 结果

3.3 MSet & MGet
设置多个 key value
MSet(key1, value1, key2, value2, key3, value3)
获取多个key
MGet(key1, key2, key3)
redisClient.MSet("Fan","One", "1","2","key1","value1")
val := redisClient.MGet("Fan","1","key1")
if val == nil {
fmt.Println("Value get error")
}
fmt.Println(val)
- 结果

3.4 总结
做一些总结,就不再过多展示了
| 操作 | 解释 |
|---|---|
| Set(key, value) | 给数据库中名称为key的string赋予值valueget(key):返回数据库中名称为key的string的value |
| GetSet(key, value) | 给名称为key的string赋予上value的值 |
| Del(Key) | 删除名称为key的value |
| MSet(key N, value N) | 批量设置多个string的值 |
| MGet(key1, key2,…, key N) | 返回库中多个string的value |
| SetNX(key, value) | 添加string,名称为key,值为value |
| MSetNX(key N, value N) | 如果所有名称为key i的string都不存在 |
| SetXX(key, time, value) | 向库中添加string,设定过期时间time |
| Incr(key) | 名称为key的string增1操作 |
| Incrby(key, integer) | 名称为key的string增加integer |
| Decr(key) | 名称为key的string减1操作 |
| Decrby(key, integer) | 名称为key的string减少integer |
| Append(key, value) | 名称为key的string的值附加valuesubstr(key, start, end):返回名称为key的string的value的子串 |
最后提醒一下redis的默认过期时间是 不过期,所以如果没有设置过期时间的话,要手动del掉
val := redisClient.MGet("Fan","1","key1")
if val == nil {
fmt.Println("Value get error")
}
fmt.Println(val)
res := redisClient.Del("1")
fmt.Println(res)

已经没有这个value了

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)