函数并未区分大小写,具体实验的时候使用

redis 文档
redis 菜鸟教程 命令行使用


操作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)
}

最后修改:2021 年 07 月 19 日
如果觉得我的文章对你有用,请随意赞赏