Categorygithub.com/Golang-Tools/redishelper/v2
modulepackage
2.1.0
Repository: https://github.com/golang-tools/redishelper.git
Documentation: pkg.go.dev

# README

redishelper

github.com/go-redis/redis/v8的帮助程序

主要包括如下组件

原生结构

  • redisproxy,redis客户端的代理对象,用于代理github.com/go-redis/redis/v8UniversalClient
  • scaner,scan遍历全局keys的遍历器对象
  • pubsubhelper,pubsub模式的客户端,满足pchelper定义的生产者接口ProducerInterface和消费者接口ConsumerInterface
  • queuehelper,redis双端队列的客户端,满足pchelper定义的生产者接口ProducerInterface和消费者接口ConsumerInterface
  • streamhelper,redis的stream数据结构的客户端,满足pchelper定义的生产者接口ProducerInterface和消费者接口ConsumerInterface,同时提供stream结构的管理对象
  • incrlimiter,使用redis的string数据结构的incr原子自增特性构造的限流器,满足limiterhelper定义的限流器接口LimiterInterface
  • lock,使用redis构造的分布式锁结构
  • cache,利用redis构造的分布式缓存,可以搭配lock模块中定义的LockInterface接口的实现和limiterhelper定义的限流器接口LimiterInterface的实现增强功能
  • keycounter,利用redis的string数据结构的incr原子自增特性构造的分布式计数器,满足模块counterhelper定义的接口CounterInterface
  • hashcounter,利用redis的hashmap数据结构的incr原子自增特性构造的分布式计数器,满足模块counterhelper定义的接口CounterInterface
  • ranker,利用redis的有序结合数据结构构造的分布式排序器
  • hypercount,利用redis的hypercount构造的分布式大规模计数器,适用于统计日活等操作.
  • bitmapset,利用redis的bitmap构造的分布式集合,适合用于去重操作,签到操作等
  • keyspace_notifications,管理keyspace_notifications的设置,监听keyspace_notifications事件

扩展组件

  • exthelper,redis客户端的扩展管理对象
  • exthelper/cellhelper,redis扩展redis-cell的帮助模块
  • exthelper/cellhelper/celllimiter,使用redis的string数据结构的incr原子自增特性构造的限流器,满足limiterhelper定义的限流器接口LimiterInterface
  • exthelper/redisbloomhelper,使用RedisBloom的帮助程序.

# Packages

Package bitmap bitmap操作支持bitmap可以用于分布式去重bitmap实现了一般set的常用接口(Add,Remove,Contained,Len,ToArray).
Package cache 缓存对象更新缓存往往是竞争更新,因此需要使用分布式锁避免重复计算,同时等待更新完成后再取数据.
middlewarehelper 用于规范中间件的模块中间件指的是一些有特殊业务用途的模块,这个子模块是整个redishelper的一个基本组件.
No description provided by the author
exthelper 用于管理redis中扩展的帮助模块.
Package counter Counter操作支持Counter可以用于分布式累加计数.
Package hypercount 面向对象的计数估计类型HyperCount 用于粗略统计大量数据去重后的个数,一般用在日活计算.
Package limiter 限制器可以用于防止短时间内大量请求同时处理,比如缓存防击穿,防爬虫等.
Package keycounter string型计数器.
Package keyspace_notifications对象,用于管理监听redis事件,本工具实际是pubsub中sub的一个实例.
Package limiterhelper 限制器帮助模块,用于快速构造限制器限制器可以用于防止短时间内大量请求同时处理,比如缓存防击穿,防爬虫等.
Package lock 分布式锁实现分布式锁需要有客户端信息,只可以获得锁的客户端自己解锁或者等待锁自己过期当未能获得锁需要等待锁释放时可以通过wait接口实现.
middlewarehelper 用于规范中间件的模块中间件指的是一些有特殊业务用途的模块,这个子模块是整个redishelper的一个基本组件.
生产者消费者模式(Producer-consumer problem)帮助工具.
pubsubhelper 满足pchelper规定的生产者和消费者接口.
queuehelper 满足pchelper规定的生产者和消费者接口.
Package ranker 排序器类型ranker可以用于分布式排序操作即多个worker分别计算更新一部分元素的权重,业务端则只负责读取结果.
No description provided by the author
Package scaner 使用scan遍历查询的工具.
streamhelper 满足pchelper规定的生产者和消费者接口,同时提供stream管理对象.