go-redis基础使用

go-redis基础使用,第1张

GoLand中调用
package main

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

var ctx = context.Background()

func main() {
	rdb := redis.NewClient(&redis.Options{
		Addr:     "localhost:6379",
		Password: "", // no password set
		DB:       0,  // use default DB
	})
	err := rdb.Set(ctx, "key", "value", 0).Err()
	if err != nil {
		panic(err)
	}

	val, err := rdb.Get(ctx, "key").Result()
	if err != nil {
		panic(err)
	}
	fmt.Println("key", val)
	if err != nil {
		fmt.Println(err)
		return
	}
}
基础语法

(1)String

	// 设置键为"key"的值为"value"
	err := rdb.Set(ctx, "key", "value", 0).Err()
	if err != nil {
		fmt.Println(err)
		return
	}
	// 获取键为"key"的值
	val, err := rdb.Get(ctx, "key").Result()
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("key", val)
	if err != nil {
		fmt.Println(err)
		return
	}
	// 获取未设置的键的值
	val2, err := rdb.Get(ctx, "key2").Result()
	if err == redis.Nil {
		fmt.Println("key2 does not exist")
	} else if err != nil {
		fmt.Println(err)
		return
	} else {
		fmt.Println("key2", val2)
	}

(2)Hash

    // 设置dirty_data的字段
	rdb.HSet(ctx, "dirty_data", "created_at", time.Now().Format("2006-01-02 15:01:05"))
	rdb.HSet(ctx, "dirty_data", "value", "01010")

	val, err := rdb.HGetAll(ctx, "dirty_data").Result()
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("dirty_data:\n", val)

(3)List

	// 在列表的尾部插入值
	rdb.RPush(ctx, "dataList", 1, 3, 5, 3)
	// 获取列表长度
	len, err := rdb.LLen(ctx, "dataList").Result()
	if err != nil {
		fmt.Println(err)
		return
	}
	val, err := rdb.LRange(ctx, "dataList", 0, len).Result()
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println("dataList:\n", val)

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/990899.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存