Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pika 支持 Redis 常见 module #1220

Closed
wanghenshui opened this issue Dec 13, 2022 · 8 comments
Closed

Pika 支持 Redis 常见 module #1220

wanghenshui opened this issue Dec 13, 2022 · 8 comments

Comments

@wanghenshui
Copy link
Collaborator

wanghenshui commented Dec 13, 2022

基本信息

项目难度:中
支持语言:中文/英文
项目社区导师:刘月财
导师联系邮箱:liuyuecai@360.cn
技术领域:C++、NoSQL
开源协议:BSDv3

项目简述

Pika 是一个持久化的海量存储服务,兼容绝大多数 Redis 接口,包括 string、hash、list、zset、set 和 management 接口。然而,目前 Pika 并未原生支持 Redis Moudle 功能。
Redis Moudle 是一种扩展 Redis 功能的机制,允许开发者编写自定义的 Moudle 并在 Redis 中加载。这些 Moudle 可以添加新的命令、数据结构和功能,从而扩展 Redis 的能力。
本项目的目标是为 Pika 添加对 Redis Moudle 的支持。具体而言,需要完成以下任务:

  • 研究和学习 Redis Moudle 的相关知识,包括 Moudle 的开发和加载机制。
  • 调研现有的 Redis Moudle 实现,例如 RedisSQL、RedisJSON、RedisGraph、TairHash 等,并了解它们的设计和用法。
  • 实现 Pika 对 Redis Moudle 的支持,包括如何加载、管理和调用 Moudle,对必要的接口、命令和数据结构进行修改。
  • 编写相应的文档,包括项目方案、设计文档和使用文档。
  • 进行测试和验证,确保 Pika 对 Redis Moudle 的支持能够正常工作。
  • 参考文档:https://redis.com/community/redis-modules-hub/

项目产出要求

  1. 设计项目方案,并定期产出相关文档。
  2. Pika 支持加载和调用 Redis Moudle。
  3. 文档完善,包括项目方案、设计文档和使用文档。
  4. 能够通过 PR 形式提交代码并通过 Pika 社区审核后合并。

项目技术要求

  • 熟悉 C++ 编程语言。
  • 熟悉 Redis/Pika 的基本使用。
  • 了解 Redis Moudle 的开发和加载机制。
  • 具备良好的软件设计和文档编写能力。

项目成果仓库

https://github.com/OpenAtomFoundation/pika

@wanghenshui wanghenshui mentioned this issue Dec 13, 2022
78 tasks
@wanghenshui wanghenshui self-assigned this Dec 13, 2022
@AlexStocks
Copy link
Collaborator

AlexStocks commented Apr 29, 2023

@ptbxzrt 赵昊

@ptbxzrt
Copy link
Contributor

ptbxzrt commented May 6, 2023

@ptbxzrt 赵昊

Thanks, I will try to work this out.

@AlexStocks
Copy link
Collaborator

AlexStocks commented May 7, 2023

有一个可以参考的同类产品 https://gitee.com/LLiuJJ/Qedis/tree/master/Modules @ptbxzrt

@ptbxzrt
Copy link
Contributor

ptbxzrt commented May 13, 2023

redis module文档:https://redis.io/docs/reference/modules/
redis module core api:redis源码中,src/module.c下的moduleRegisterCoreAPI函数中注册了所有的api
开源版本的redisql已经不再维护了,它更名为zeesql,收费且闭源

@yaoyinnan yaoyinnan changed the title redis常见module支持 [GitLink] Pika 支持 Redis 常见 module May 19, 2023
@luky116
Copy link
Collaborator

luky116 commented May 27, 2023

@changyuan

@longfar-ncy
Copy link
Contributor

redis module功能加载时序图
image

@yaoyinnan yaoyinnan removed the GitLink label Jun 27, 2023
@yaoyinnan yaoyinnan changed the title [GitLink] Pika 支持 Redis 常见 module Pika 支持 Redis 常见 module Jun 27, 2023
@AlexStocks
Copy link
Collaborator

AlexStocks commented Jul 7, 2023

        * 0429 lqx 
        * 0506 赵昊 ptbxzrt own
        * 0527 最近比较忙,和常远一起跟进(导师联系下)
          * 常远难点:不太熟悉C++,需要导师协助(李浩、瑞麟指导)
    * admin能力支持,单机,基本的建表模型,观测/管理/配置修改:https://github.com/OpenAtomFoundation/pika/issues/1221 lqx
        * 0429 lqx
        * 0520 lqx 原本部分已经支持了,先梳理一下需要支持的功能
        * 0603 继续梳理讨论需要支持的功能
        * 0610 会后继续讨论
        * 0617 暂时搁置
        * 0701 搁置

@AlexStocks
Copy link
Collaborator

AlexStocks commented Jul 7, 2023

gitlink
    * 宁常远 & 赵昊
    * 0527 
      * 常远: 最近比较忙,和常远一起跟进(导师联系下)
        * 难点:不太熟悉C++,需要导师协助(李浩、瑞麟指导)
      * 赵昊:感觉工作量很大,比如,兼容redis json,要实现所有的api;先跟进,看看能实现到什么程度
    * 0603 单纯的module加载应该还好,我还在仔细看redis module加载的一些细节。难点可能还是后面API的兼容问题。
    * 0610 赵昊同学不能跟进,待其他同学认领
    * 0708 常远:先实现 module 功能架子

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants