*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 |