Django 通道数据压缩

问题描述 投票:0回答:1

有没有办法压缩通过 Django-Channels 消费者发送的流数据? 在文档中找不到任何信息。 不建议压缩流数据吗?

python django stream compression django-channels
1个回答
0
投票

要压缩流数据,可以使用Python的

gzip
模块,例如:

import gzip
import json
from channels.generic.websocket import AsyncWebsocketConsumer

class MyConsumer(AsyncWebsocketConsumer):
    async def my_handler(self, event):
        data = json.dumps(event)
        compressed_data = gzip.compress(data.encode('utf-8'))
        await self.send(compressed_data)

压缩有助于减少通过网络发送的数据的大小,这可以提高应用程序的性能,尤其是在处理大量数据时,但是,压缩的代价是增加 CPU 使用率。

© www.soinside.com 2019 - 2024. All rights reserved.