go redis sorted set 有序集合简单使用

ZUnionStore 可实现key的复制功能。
ZRangeWithScores 获取集合类型的key中数据,0 -1代表获取所有数据。
各个函数功能可参考官网链接。
https://cheatography.com/tasjaevan/cheat-sheets/redis/

package main

import (
	"fmt"

	"github.com/go-redis/redis"
	ddredis "gopkg.in/CodapeWild/dd-trace-go.v1/contrib/go-redis/redis"
)

func main() {
	// init redis conncetions
	redisOpt := redis.Options{
		Addr: "127.0.0.1:30180",//自己填写
		DB:   0,
	}
	redisOpt.Password = "*****"//自己填写
	key := "test11"
	key2 := "test22"
	testRedis := ddredis.NewClient(&redisOpt, ddredis.WithServiceName("test.redis"))
	res := testRedis.ZIncr(key, redis.Z{Score: 2.0, Member: "test2"})
	res1, _ := testRedis.ZRangeWithScores(key, 0, -1).Result()
	fmt.Printf("res:%v\n", res)//res:zadd test11 incr 2 test2: 2
	fmt.Printf("res1:%v\n", res1)//res1:[{2 test2}]
	testRedis.ZUnionStore(key2, redis.ZStore{Weights: []float64{1}}, key)
	res2, _ := testRedis.ZRangeWithScores(key2, 0, -1).Result()
	fmt.Printf("res2:%v\n", res2)//res2:[{2 test2}]

	_, err := config.Redis.ZRank(curKey, "test").Result()
	if err != nil {
		//可判断key是否存在
	}
	config.Redis.ZAdd(curKey, redis.Z{Score: 90, Member: "test"})//只添加key,不累加

	//删除key
	keys, err := config.Redis.Keys("test*").Result()
	if err != nil {
		l.Errorf("redis get keys err :%w", err.Error())
		return
	}
	for _, key := range keys {
		config.Redis.Del(key)
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值