美文网首页
Go语言连接Redis

Go语言连接Redis

作者: 彩色代码 | 来源:发表于2023-05-23 07:59 被阅读0次

当使用Go语言连接Redis时,github.com/go-redis/redis库提供了丰富的方法和命令,以满足各种Redis操作的需求。以下是一些常用的方法和命令的示例:

package main

import (
    "fmt"
    "time"

    "github.com/go-redis/redis"
)

func main() {
    // 创建Redis客户端
    client := redis.NewClient(&redis.Options{
        Addr:     "localhost:6379", // Redis服务器地址和端口
        Password: "",               // Redis密码(如果有的话)
        DB:       0,                // Redis数据库索引
    })

    // 测试连接
    pong, err := client.Ping().Result()
    fmt.Println(pong, err)

    // 设置键值对,并设置过期时间
    err = client.Set("mykey", "myvalue", 5*time.Minute).Err()
    if err != nil {
        fmt.Println(err)
    }

    // 获取键对应的值
    value, err := client.Get("mykey").Result()
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println("mykey:", value)
    }

    // 判断键是否存在
    exists, err := client.Exists("mykey").Result()
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println("mykey exists:", exists)
    }

    // 自增
    newValue, err := client.Incr("counter").Result()
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println("Counter:", newValue)
    }

    // 批量设置键值对
    err = client.MSet("key1", "value1", "key2", "value2").Err()
    if err != nil {
        fmt.Println(err)
    }

    // 批量获取键对应的值
    values, err := client.MGet("key1", "key2").Result()
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println("Values:")
        for i, v := range values {
            fmt.Printf("key%d: %v\n", i+1, v)
        }
    }

    // 使用管道(Pipeline)批量执行命令
    pipe := client.Pipeline()
    incr := pipe.Incr("pipeline_counter")
    pipe.Expire("pipeline_counter", 5*time.Minute)
    _, err = pipe.Exec()
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println("Pipeline Counter:", incr.Val())
    }

    // 关闭连接
    err = client.Close()
    if err != nil {
        fmt.Println(err)
    }
}

上面的示例展示了更多方法和命令的使用。其中包括设置过期时间、判断键是否存在、自增操作、批量设置和获取键值对,以及使用管道进行批量执行命令等。你可以根据自己的需求选择适合的方法和命令来操作Redis数据库。记得根据你的实际情况修改Addr字段以匹配你的Redis服务器地址和端口,以及设置密码(如果有的话)。

相关文章

  • 在Go语言中基础的Redis操作

    在Go语言中基础的Redis操作 需要先安装redigo Go语言Redis客户端的简单示例 连接池 POOL 为...

  • 32.Go语言·Redis

    ReadME.md main01.go main02.go redis连接池.redis.go

  • Go语言操作Redis

    Go语言操作Redis 在项目开发中redis的使用也比较频繁,本文介绍了Go语言中go-redis库的基本使用。...

  • go-redis 源码分析:连接池

    笔者最近在项目中基于 go-redis 实现 Redis 缓存优化性能。go-redis 是一个 Go 语言实现的...

  • golang-redis(1)

    一、redis连接 引入包"github.com/go-redis/redis/v8" var( redisIns...

  • 22.Redis

    在项目开发中redis的使用也比较频繁,本文介绍了Go语言中go-redis库的基本使用。《Redis 实战》 R...

  • go-redis库的返回值

    github.com/go-redis/redis 是go语言中封装的最便利使用的redis客户端,但是它的使用会...

  • ssm项目_06_redis的持久化和集群

    1. Redis的安装和连接 1.1 redis的安装 Redis是c语言开发的。安装redis需要c语言的编译环...

  • java连接redis

    语言语言:Java专用数据库:redis 安装redis 启动redis 为了实现连接,需要导入两个程序包,分别为...

  • 学习规划

    大数据 Flink 数据库 - MySQL, Redis, TIDB 语言 - Java Python Go C ...

网友评论

      本文标题:Go语言连接Redis

      本文链接:https://www.haomeiwen.com/subject/dwxmsdtx.html