函数并未区分大小写,具体实验的时候使用
操作key value string
Set(key, value):给数据库中名称为key的string赋予值value
Get(key):返回数据库中名称为key的string的value
Getset(key, value):给名称为key的string赋予上一次的value
Mget(key1, key2,…, key N):返回库中多个string的value
Setnx(key, value):添加string,名称为key,值为value
Setex(key, time, value):向库中添加string,设定过期时间time
Mset(key N, value N):批量设置多个string的值
Msetnx(key N, value N):如果所有名称为key i的string都不存在
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的值附加value
Substr(key, start, end):返回名称为key的string的value的子串
list/切片 操作
RPush(key, value):在名称为key的list尾添加一个值为value的元素
LPush(key, value):在名称为key的list头添加一个值为value的 元素
LLen(key):返回名称为key的list的长度
LRange(key, start, end):返回名称为key的list中start至end之间的元素
LTrim(key, start, end):截取名称为key的list
LIndex(key, index):返回名称为key的list中index位置的元素
LSet(key, index, value):给名称为key的list中index位置的元素赋值
LRem(key, count, value):删除count个key的list中值为value的元素
LPop(key):返回并删除名称为key的list中的首元素
RPop(key):返回并删除名称为key的list中的尾元素
BLpop(key1, key2,… key N, timeout):lpop命令的block版本。
BRpop(key1, key2,… key N, timeout):rpop的block版本。
RPoplpush(srckey, dstkey):返回并删除名称为srckey的list的尾元素,并将该元素添加到名称为dstkey的list的头部
redis 的 set 操作
sadd(key, member):向名称为key的set中添加元素member
srem(key, member) :删除名称为key的set中的元素member
spop(key) :随机返回并删除名称为key的set中一个元素
smove(srckey, dstkey, member) :移到集合元素
scard(key) :返回名称为key的set的基数
sismember(key, member) :member是否是名称为key的set的元素
sinter(key1, key2,…key N) :求交集
sinterstore(dstkey, (keys)) :求交集并将交集保存到dstkey的集合
sunion(key1, (keys)) :求并集
sunionstore(dstkey, (keys)) :求并集并将并集保存到dstkey的集合
sdiff(key1, (keys)) :求差集
sdiffstore(dstkey, (keys)) :求差集并将差集保存到dstkey的集合
smembers(key) :返回名称为key的set的所有元素
srandmember(key) :随机返回名称为key的set的一个元素
hash 操作
hset(key, field, value):向名称为key的hash中添加元素field
hget(key, field):返回名称为key的hash中field对应的value
hmget(key, (fields)):返回名称为key的hash中field i对应的value
hmset(key, (fields)):向名称为key的hash中添加元素field
hincrby(key, field, integer):将名称为key的hash中field的value增加integer
hexists(key, field):名称为key的hash中是否存在键为field的域
hdel(key, field):删除名称为key的hash中键为field的域
hlen(key):返回名称为key的hash中元素个数
hkeys(key):返回名称为key的hash中所有键
hvals(key):返回名称为key的hash中所有键对应的value
hgetall(key):返回名称为key的hash中所有的键(field)及其对应的value
简单示例
package main
import (
"context"
"fmt"
"github.com/go-redis/redis"
)
var ct = context.Background()
func main() {
//连接redis
redisDB := redis.NewClient(&redis.Options{
Addr: "localhost:6379", //数据库地址
Password: "", //数据库密码
DB: 0, //数据库连接数
/* 启用https
TLSConfig: &tls.Config{
ServerName: "www.yuhenm.com",
},
*/
})
//age是key,19是value,30000是这个值的过期时间,倘若是0就是永不过期 增加这么一个值
set := redisDB.Set(ct, "age", "19", 30000)
fmt.Println(set)
RDB("age", redisDB)
//向list添加元素
redisDB.RPush(ct,"list","wdnmd")
length,err:=redisDB.LLen(ct,"list").Result()
if err==redis.Nil{
panic(err)
}
fmt.Println("list的长度",length)
fmt.Println(redisDB.Incr(ct,"WDNMS"))
redisDB.BR
}
func RDB(key string, redisDB *redis.Client) {
val, err := redisDB.Get(ct, key).Result()
//redis.Nil指的是空字符串或者nil
if err == redis.Nil {
fmt.Println("key not")
}
//访问其对应的value值
fmt.Println(val)
}