【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)