操作Redis

package main

import (
   "fmt"
   "github.com/go-redis/redis"
)

func main() {
   client := redis.NewClient(&redis.Options{
      Addr:     "localhost:6379", // Redis主机地址
      Password: "**************", // Redis密码
      DB:       0,                // 数据库,默认为0
   })

   //========== 设置缓存 ==========//
   err := client.Set("manong", "码农人生", 0).Err() // 第三个参数是过期时间,为0则永不过期
   if err == nil {
      fmt.Println("设置缓存成功") // 设置缓存成功
   } else {
      fmt.Println("设置缓存失败,原因:" + err.Error())
   }

   //========== 获取缓存 ==========//
   value, err := client.Get("manong").Result()
   if err == nil {
      fmt.Println("获取缓存成功,其值为:" + value) // 获取缓存成功,其值为:码农人生
   } else {
      fmt.Println("获取缓存失败,原因:" + err.Error())
   }

   //========== 删除缓存 ==========//
   // 重要提醒:Del()函数支持同时删除多个key,如 client.Del("key1", "key2", "key3").Err()
   result, err := client.Del("manong").Result()
   if err == nil {
      fmt.Printf("删除缓存成功,函数返回值:%+v \n", result) // 删除缓存成功,函数返回值:1
   } else {
      fmt.Println("删除缓存失败,原因:" + err.Error())
   }

   //========== 获取缓存(不存在) ==========//
   value, err = client.Get("manong").Result()
   if err == nil {
      fmt.Println("获取缓存成功,其值为:" + value)
   } else {
      fmt.Println("获取缓存失败,原因:" + err.Error()) // 获取缓存失败,原因:redis: nil
   }

   //========== 删除缓存(不存在) ==========//
   result, err = client.Del("manong").Result()
   if err == nil {
      fmt.Printf("删除缓存成功,函数返回值:%+v \n", result) // 删除缓存成功,函数返回值:0
   } else {
      fmt.Println("删除缓存失败,原因:" + err.Error())
   }
}

//========== 总结 ==========//
// 1、获取不存在的缓存会返回非nil的error。
// 2、删除不存在的缓存error为nil且result为0。

Copyright © 2024 码农人生. All Rights Reserved