基于websockets和aioredis的websocket api上的redis

redis-websocket-api的Python项目详细描述


一个可扩展的redis over websocket api,位于websockets和aioredis之上。

安装

对于基本功能:

pip install redis_websocket_api

使用地理扩展(按扩展、投影转换过滤消息):

pip install redis_websocket_api[geo]

服务器端使用

像这样启动WebsocketServer

from aioredis import create_redis_pool
from redis_websocket_api import WebsocketServer

REDIS_ADDRESS = ('localhost', 6379)


WebsocketServer(
    redis=loop.run_until_complete(create_redis_pool(REDIS_ADDRESS)),
    subscriber=loop.run_until_complete(create_redis_pool(REDIS_ADDRESS)),
    read_timeout=30,
    keep_alive_timeout=120,
).listen(
    host='localhost',
    port=8000,
    channel_names=('public_channel_1', 'public_channel_2'),
)

查看examples/demo.py以获取GeoCommandsMixin的示例。 补充。

临床用药

WebsocketHandler

默认功能为web客户端提供以下接口 (期望通过WebSocket连接的请求):

  • GET key转换为hvals key
  • GET key hkey转换为hget key hkey
  • SUB key将websocket订阅到redis通道(使用单个redis 所有客户端的连接池)
  • DEL key从频道取消订阅客户端
  • PING引起PONG响应(以避免超时)

添加了GeoCommandsMixinWebsocketHandler子类

通过添加GeoCommandsMixin,web客户端可以使用

  • BBOX left bottom right top在此框中仅接收geojson功能 加上所有无效的geojson消息
  • PROJECTION epsg:number导致所有未来的geojson特性被转换 到给定的投影

有关如何使用扩展的WebsocketHandler子类,请参见examples/demo.py

geo命令目前仅限于LineStringPolygonPoint。 几何学

建立自己的协议

使用上面列出的命令从客户端到服务器进行通信是 完全混合和添加到 WebsocketHandlerBase

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

推荐PyPI第三方库


热门话题
java在TextView中对齐部分文本   带有iText和eTPKCS11的java PKCS#11签名。dll&SunPKCS11提供程序   java Intellij Idea找不到jar   java Chrome/Firefox和Jetty HTTPS   java我无法打包找不到的JavaFX应用程序模块   多线程Java:排序从异步任务检索的结果   java客户端/服务器socket不能与外部连接一起工作   java如何在单击“下一步”按钮时获取其他详细信息?   java组织。springframework。网状物客户RestTemplate应声明为@Bean,而plain@Autowired抛出错误   java如何绘制javax。摆动将ImageIcon转换为JavaFX。fxml呈现用户界面?   使用for循环的Java跟踪   java如何编码字符串以显示彩色文本(基于字符串中的前缀)   Java保存/打开文件对象   基于java复选框的搜索:使用尽可能多的“”动态生成准备好的语句作为选中复选框的计数   java为什么crawler4j随机挂起?