基于redis的python消息代理

rivulet的Python项目详细描述


Latest Travis CI build statusDocumentation Status

文档:Read the docs

快速启动

$ pip install rivulet

注释

限制

  • 没有平衡的消费者(尚未)
  • 如果没有适当的管理工具(请参阅TODOS),管理消息是 痛苦的原始redis。

待办事项

  • 扩展测试
    • 连接断开
    • 并行生产者、消费者(强调锁定设置)
  • 提供管理功能
    • 列出频道,删除频道
    • 计数、列出、更新订户
    • 计数、列出、删除消息

实施细节

数据模型:

  1. rvl:lock:<channel_id>:用于在 多步骤redis调用(特别是在使用 服务器发出的、单调递增的消息序列id)。
  2. rvl:id:<channel_id>:提供序列id的计数器 频道中的消息
  3. rvl:msg:<channel_id>:映射压缩json字符串的zset 到消息sed id(允许对seq上的消息进行范围查询 身份证)。
  4. rvl:channel:<channel_id>:将客户机ID映射到最后一个 客户端看到的频道中的消息ID
  5. rvl:index:<client_id>:将频道id映射到最后一个的zset 客户端看到的消息ID客户端ID

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何在Java中使用Scanner以静默方式读取STDIN?   尝试调用方法“无法应用于给定类型”时发生java错误   java TableView和HasMap。keySet()未动态更新   java如何获取@XmlElement注释的值   java我正在尝试使用Runnable和。sleep()将我的JFrame绘图设置为动画,但无法正常工作   java OWASP ZAP代理冻结   java在集群环境中避免Spring批处理作业中的并发   JavaEclipse如何删除被引用库“从类路径”添加的JAR   oop如何在Java中修复UDP服务器?   java JavaFX setText()NullPointerException,尽管我已经设置了控制器和fxml标记   java获取JLabel中的图标位置   子集的java排列和后续运行时分析   安卓 java。ClassCastException:libcore。网http。HttpURLConnectionImpl无法转换为javax。网ssl。HttpsURLConnection   c#发送和接收TCPsocket安卓客户端   tomcat6 Java Melody内存直方图不适用于多个web应用   在Java中从主字符串中提取子字符串   java ElasticSearch通过数组字段作为独占搜索进行搜索   Microsoft SQL Azure上的java Hibernate架构验证失败