Redis 4.x系列(二十五):Redis 模块与生态系统
Redis 已成为被广泛使用的成熟开源软件(内存数据库)。有很多基于 Redis 的开源项目、工具、模块,为分布式,集群,分布,管理 等提供了很好的解决方案。感谢开源社区。
Redis 实验室:RedisLabs GitHub,Redis 模板:Redis Labs Modules GitHub
Redis Module
Redis 模块官网:Redis Modules,Redis 模块实验室:Redis Labs Modules GitHub,
Redis 实验室-模块中心:RedisLabs > REDIS MODULES HUB 官网
ReJSON
下载
编译,在项目目录执行 make
/rejson# make
生成编译后的库 src/rejson.so加载模板
在 redis.conf 配置文件配置加载模块
loadmodule /path/to/module/rejson.soredis 服务启动时加载模块
#./redis-server - -loadmodule /path/to/module/rejson.so
写入和查询 Json 数据
1
2
3
4
5
6
7
8127.0.0.1:6379> JSON.SET obj . '{"name":"Leonard Cohen","lastSeen":1478476800,"loggedOut": true}'
OK
127.0.0.1:6379> JSON.OBJLEN obj .
(integer) 3
127.0.0.1:6379> JSON.OBJKEYS obj .
1) "name"
2) "lastSeen"
3) "loggedOut"
Redisson
Redisson 官网,Redisson Github, Redisson 文档
Redisson 为使用者提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机多线程并发程序的工具包获得了协调分布式多机多线程并发系统的能力,大大降低了设计和研发大规模分布式系统的难度。同时结合各富特色的分布式服务,更进一步简化了分布式环境中程序相互之间的协作。
Twemproxy
Twemproxy 又名** nutcracker **(胡桃夹子),是由 ** Twitter **开发的快速和轻量级 Redis 代理,支侍 memcached 和 redis 协议。 目的是为 redis 提供一个代理和数据分片的解决方案,并减少后端 Redis 服务器的客户端连接数。
Twemproxy 相当于代理层,客户端只与代理通信,不直接与后端 Redis 服务连接。
Codis
CodisLabs/codis Github, CodisLabs/redis-port
Codis 是一个基于代理的高性能 Redis 集群解决方案,支持管道和动态扩展,用Go编写。它已投入生产,并广泛应用于wandoujia.com(豌豆荚)和许多公司。
对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有显著区别 (不支持的命令列表), 上层应用可以像使用单机的 Redis 一样使用, Codis 底层会处理请求的转发, 不停机的数据迁移等工作, 所有后边的一切事情, 对于前面的客户端来说是透明的, 可以简单的认为后边连接的是一个内存无限大的 Redis 服务。
redis-port, 解析redis rdb文件,在redis master和slave之间同步数据,执行数据迁移。
CacheCloud
sohutv/cachecloud,CacheCloud 官博,一个由 Sohu(搜狐) TV 开发的开源项目。
CacheCloud提供一个Redis云管理平台:实现多种类型(Redis Standalone、Redis Sentinel、Redis Cluster)自动部署、解决Redis实例碎片化现象、提供完善统计、监控、运维功能、减少运维成本和误操作,提高机器的利用率,提供灵活的伸缩性,提供方便的接入客户端。
Pika
Qihoo360/pika,奇虎360 开发并开源,与 Redis 兼容的 NoSql 数据库,
Pika是一个可持久化的大容量 redis 存储服务,兼容** string、hash、list、zset、set 的绝大部分接口(兼容详情),解决 redis 由于存储数据量巨大而导致内存不够用的容量瓶颈,并且可以像 redis 一样,通过 slaveof 命令进行主从备份,支持全同步和部分同步,pika** 还可以用在 twemproxy 或者 codis 中来实现静态数据分片( pika 已经可以支持 codis 的动态迁移 slot 功能,目前在合并到 master 分支)
redis2-nginx-module
openresty/redis2-nginx-module
这是一个Nginx上游模块,它使nginx以非阻塞方式与 Redis 2.x 服务器通信。 已实施完整的 Redis 2.0 统一协议,包括Redis流水线支持。
Redis 4.x系列(二十五):Redis 模块与生态系统
http://blog.gxitsky.com/2019/01/06/Redis-25-redis-ecosystem/