ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Golang中通过go-redis操作Redis

2022-01-24 14:32:07  阅读:221  来源: 互联网

标签:redis fmt Redis Golang ctx key rdb Println


参考地址:https://github.com/go-redis/redis

定义上下文以及连接的相关信息

var ctx = context.Background()
var rdb = redis.NewClient(&redis.Options{
	Addr: "localhost:6379",
})

string

func TestString(t *testing.T)  {
	rdb.Set(ctx, "key", "value", 0)
	result, err := rdb.Get(ctx, "key").Result()
	if err != nil {
		panic(err)
	}
	fmt.Println("key", result)
}

set

func TestSet(t *testing.T)  {
   addCmd := rdb.SAdd(ctx, "set", "s1", "s2", "s3")
   fmt.Println(addCmd)
   stringSliceCmd := rdb.SMembers(ctx, "set")
   for _,v := range stringSliceCmd.Val() {
      fmt.Println(v)
   }
}

zset

可以通过zset实现排行榜的功能

func TestZSet(t *testing.T)  {
   intCmd := rdb.ZAdd(ctx, "zset",
      &redis.Z{Score: 10, Member: "GetcharZp"},
      &redis.Z{Score: 50, Member: "B-zero"},
      &redis.Z{Score: 20, Member: "GetcharMmc"})
   fmt.Println(intCmd)
   zRange := rdb.ZRange(ctx, "zset", 0, 10)
   for _, v := range zRange.Val() {
      fmt.Println(v)
   }
}

hash

func TestHash(t *testing.T)  {
   intCmd := rdb.HSet(ctx, "hash", map[string]string{"k1": "v1", "k2": "v2", "k3": "v3"})
   fmt.Println(intCmd)
   // 通过指定map中的key获取值
   getOne := rdb.HGet(ctx, "hash", "k1")
   fmt.Println(getOne.Val())
   all := rdb.HGetAll(ctx, "hash")
   for key, value := range all.Val() {
      fmt.Println("key --> ", key, " value --> ", value)
   }
}

list

func TestList(t *testing.T)  {
   intCmd := rdb.LPush(ctx, "list", "l1", "l2", "l3")
   fmt.Println(intCmd)
   lRange := rdb.LRange(ctx, "list", 0, 3) // 从最左边开始取数据
   for _, v := range lRange.Val() {
      fmt.Println(v)
   }
}

标签:redis,fmt,Redis,Golang,ctx,key,rdb,Println
来源: https://www.cnblogs.com/GetcharZp/p/15839259.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有