*Redis 模块

Redis Modules System是4.0出现一大改动点,使得可以通过外部模块对Redis进行功能性扩展。 Redis的模块采用的是动态链接库的方式,可以启动的时候加载,也可以在运行时加载(MODULE LOAD),在Linux系统里面,可以通过dlopen,dlsym等实现动态加载库,在业务系统里面,经常用于将业务代码和框架代码进行分离,以实现插件化开发。在Redis里面也是同样的道理。要实现分离,首先需要的是初始化,以便让框架可以找到对应的方法,这就需要进行注册,Redis通过RedisModule_Init方法进行注册模块,和RedisModule_CreateCommand注册自定义方法。

Redis导出了redismodule.h头文件,通过实现该头文件相关API函数,然后编译为so动态库即可,可以在配置文件中使用loadmodule指明,也可以在运行时使用命令动态加载(MODULE LOAD)。

Redis 模块列表,适用于 redis v4.0 或更高版本,以 Github stars 数量排序。此列表包含两组模块:OSI许可证下的模块和某些专有许可证下的模块。非OSI模块被明确标记为非开源。

RediSearch Full-Text search over Redis dvirsky RedisLabs Redis Source Available License 2616
neural-redis Online trainable neural networks as Redis data types. antirez BSD 2160
RedisGraph A graph database with a Cypher-based querying language using sparse adjacency matrices swilly22 RedisLabs Redis Source Available License 1144
rediSQL A redis module that provides a full SQL capabilities embedding SQLite siscia RedBeardLab AGPL-3.0 1125
RedisJSON A JSON data type for Redis itamarhaber RedisLabs Redis Source Available License 1119
RedisBloom Scalable Bloom filters mnunberg RedisLabs Redis Source Available License 691
redis-cell A Redis module that provides rate limiting in Redis as a single command. brandur MIT 651
Disque Disque, an in-memory, distributed job queue, ported as Redis module. antirez AGPL-3.0 457
RedisTimeSeries Time-series data structure for redis danni-m RedisLabs Redis Source Available License 455
RedisAI A Redis module for serving tensors and executing deep learning graphs lantiga RedisLabs Redis Source Available License 435
cthulhu Extend Redis with JavaScript modules sklivvz BSD 139
redis-roaring Uses the CRoaring library to implement roaring bitmap commands for Redis. aviggiano MIT 130
redis-cuckoofilter Hashing-function agnostic Cuckoo filters. kristoff-it MIT 123
RedisGears Dynamic execution framework for your Redis data. MeirShpilraien RedisLabs Redis Source Available License 122
redis-tdigest t-digest data structure wich can be used for accurate online accumulation of rank-based statistics such as quantiles and cumulative distribution at a point. usmanm MIT 54
redex Extension modules to Redis' native data types and commands itamarhaber AGPL-3.0 52
Session Gate Session management with multiple payloads using cryptographically signed tokens. f0rmiga MIT 45
ReDe Low Latency timed queues (Dehydrators) as Redis data types. daTokenizer MIT 36
redis-protobuf Redis module for reading and writing Protobuf messages sewenew Apache-2.0 30
redlock Redis module for distributed lock without using LUA script,safe unlock for different redis client. wujunwei MIT 28
RedisPushIptables RedisPushIptables is used to update firewall rules to reject the IP addresses for a specified amount of time or forever reject. Gandalf GPL-3.0 19
redis-rating Estimate actual rating from postive/negative ratings devpoga MIT 14
Reventis Redis module for storing and querying spatio-temporal event data starkdg Redis Source Available License 14
commentDis Add comment syntax to your redis-cli scripts. daTokenizer MIT 9
redis-fpn Redis module for Fixed Point Number data type xxlabaza Apache 2.0 8
redis-percentile Redis module for efficient percentile estimation of streaming or distributed data with t-digest algorithm. devpoga MIT 8
smartcache A redis module that provides a pass-through cache fcerbell AGPL-3.0 5
lqrm A Laravel compatible queue driver for Redis that supports reliable blocking pop from FIFO and scheduled queues. halaei BSD 4
Redis-ImageScout Redis module for Indexing of pHash Image fingerprints for Near-Duplicate Detection starkdg pHash Redis Source Available License 2
Redis-AudioScout Redis module for Audio Track Recognition starkdg pHash Source Available License 1
redismodule-ratelimit Redis module that provides ratelimit linfangrong MIT 0
dbx Redis module for maintaining hash by simple SQL cscan MIT 0
redis_hnsw Redis module for Hierarchical Navigable Small World (HNSW) approxmiate nearest neighbor search zhao-lang MIT 0