rueidisGo 语言的 Redis 开发包

联合创作 · 2023-09-29 05:39

rueidis 是一个高性能的 Go 语言的 Redis RESP3 客户端开发包,支持客户端缓存和自动流水线。


主要特征



  • 用于非阻塞 redis 命令的自动管道

  • 用于阻止 redis 命令的连接池

  • 选择加入客户端缓存

  • redis cluster, pub/sub, streams, TLS, RedisJSON, RedisBloom, RediSearch, RedisGraph, RedisTimeseries

  • IDE 友好的 redis 命令生成器

  • 具有客户端缓存和乐观锁定的哈希/RedisJSON 对象映射

  • 打开遥测跟踪和指标


示例代码:



package main

import (
"context"
"github.com/rueian/rueidis"
)

func main() {
c, _ := rueidis.NewClient(rueidis.ClientOption{
InitAddress: []string{"127.0.0.1:6379"},
})
defer c.Close()

ctx := context.Background()

_ := c.Do(ctx, c.B().Set().Key("my_data").Value("my_value").Nx().Build()).Error()
val, _ := c.Do(ctx, c.B().Get().Key("my_data").Build()).ToString()
// val == "my_value"
}

性能测试:


Rueidis 比 go-redis 8.11.4 拥有更高的吞吐量。


Single Client



 


Cluster Client



 


性能测试源码: https://github.com/rueian/rueidis-benchmark

浏览 29
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报