Go 语言 和 Redis 操作键值对,使用 go-redis/redis

yufei       4 年, 7 月 前       962

package main

import (
    redis "github.com/go-redis/redis/v7"
    "log"
    "time"
)

func main() {
    rdb := redis.NewClient(&redis.Options{
        Addr:     "localhost:6379", // 使用默认数据库
        Password: "",               // 没有密码则置空
        DB:       0,                // 使用默认的数据库
    })

    pong, err := rdb.Ping().Result() // 检查是否连接
    if err != nil {
        log.Fatal(err)
    }

    // 连接成功啦
    log.Println(pong)

    // 获取字符串键值对
    rs, err := rdb.Get("name").Result()
    if err != nil {
        log.Fatal(err)
    }
    log.Println(rs)

    // 如果 key 不存在,则 err = log.Nil
    // 返回的结果则是空字符串
    rs, err = rdb.Get("name2").Result()
    if err != redis.Nil && err != nil {
        log.Fatal(err)
    }

    if err == redis.Nil {
        log.Println("键 name2 不存在")
    }
    log.Println(rs)

    // 设置字符串键值对
    // 0 表示过期时间,永久不过期
    // 设置动作一般没有返回值,只要检查是否成功设置与否
    err = rdb.Set("name2", "www.twle.cn", 0).Err()
    if err != nil {
        log.Fatal(err)
    }

    // 如果 key 不存在,则 err = log.Nil
    // 返回的结果则是空字符串
    rs, err = rdb.Get("name2").Result()
    if err != redis.Nil && err != nil {
        log.Fatal(err)
    }

    if err == redis.Nil {
        log.Println("键 name2 不存在")
    }
    log.Println(rs)

    // 设置字符串键值对
    // 5s 表示过期时间,永久不过期
    // 设置动作一般没有返回值,只要检查是否成功设置与否
    err = rdb.Set("name2", "www.twle.cn", time.Second*5).Err()
    if err != nil {
        log.Fatal(err)
    }
}
目前尚无回复
简单教程 = 简单教程,简单编程
简单教程 是一个关于技术和学习的地方
现在注册
已注册用户请 登入
关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.