Skip to content

Latest commit

 

History

History
79 lines (64 loc) · 3.09 KB

README-CN.md

File metadata and controls

79 lines (64 loc) · 3.09 KB

tair-go

build workflow Go Reference

English | 简体中文

基于 go-redis 封装,用于操作 Tair Modules 的客户端。

  • TairHash, 可实现 field 级别的过期。(已开源)
  • TairString, 支持 string 设置 version,增强的cascad命令可轻松实现分布式锁。(已开源)
  • TairZset, 支持多维排序。(已开源)
  • TairBloom, 支持动态扩容的布隆过滤器。
  • TairRoaring, Roaring Bitmap, 使用少量的存储空间来实现海量数据的查询优化。
  • TairSearch, 支持ES-LIKE语法的全文索引和搜索模块。
  • TairDoc, 支持存储JSON类型。
  • TairGis, 支持地理位置点、线、面的相交、包含等关系判断。(已开源
  • TairTs, 时序数据结构,提供低时延、高并发的内存读写访问。
  • TairCpc, 基于CPC(Compressed Probability Counting)压缩算法开发的数据结构,支持仅占用很小的内存空间对采样数据进行高性能计算。
  • TairVector, 提供高性能、实时,集存储、检索于一体的向量数据库服务。

安装

go get github.com/alibaba/tair-go

快速开始

一个 TairString 的示例如下所示:

go.mod

require (
	github.com/alibaba/tair-go v1.1.3
)

test.go

import (
	"context"
	"fmt"
	"github.com/redis/go-redis/v9"
	"github.com/alibaba/tair-go/tair"
)

var ctx = context.Background()

var tairClient *tair.TairClient

func init() {
	tairClient = tair.NewTairClient(&redis.Options{
		Addr:     "xxx.redis.rds.aliyuncs.com:6379",
		Password: "xxx",
		DB:       0,
	})
}

func main() {
	err := tairClient.ExSet(ctx, "exkey", "exval").Err()
	if err != nil {
		fmt.Println(err.Error())
	}

	val, err := tairClient.ExGet(ctx, "exkey").Result()
	if err != nil {
		panic(err)
	}
	fmt.Println("get exkey values is: ", val)
}

Tair 所有的 SDK

language GitHub
Java https://github.com/alibaba/alibabacloud-tairjedis-sdk
Python https://github.com/alibaba/tair-py
Go https://github.com/alibaba/tair-go
.Net https://github.com/alibaba/AlibabaCloud.TairSDK