持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第10天,点击查看活动详情
1. String 操作
1.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 操作类似
1.2 Incr & Incrby
1.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)
- 结果
1.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)
- 结果
1.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)
- 结果
1.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了