cache: Use zstd compression level 9 for bmemcached compression.

This commit is contained in:
Alex Vandiver
2025-08-20 01:34:44 +00:00
committed by Tim Abbott
parent 33e6d78f3b
commit 9715f6c104
3 changed files with 14 additions and 2 deletions

View File

@@ -104,6 +104,7 @@ not_yet_fully_covered = [
"zerver/lib/test_fixtures.py",
"zerver/lib/test_runner.py",
"zerver/lib/test_console_output.py",
"zerver/lib/zstd_level9.py",
"zerver/openapi/curl_param_value_generators.py",
"zerver/openapi/javascript_examples.py",
"zerver/openapi/python_examples.py",

View File

@@ -2,14 +2,15 @@ import pickle
from functools import lru_cache
from typing import Any
import zstd
from django_bmemcached.memcached import BMemcached
from zerver.lib import zstd_level9
@lru_cache(None)
def _get_bmemcached(location: str, param_bytes: bytes) -> BMemcached:
params = pickle.loads(param_bytes) # noqa: S301
params["OPTIONS"]["compression"] = zstd
params["OPTIONS"]["compression"] = zstd_level9
return BMemcached(location, params)

10
zerver/lib/zstd_level9.py Normal file
View File

@@ -0,0 +1,10 @@
from zstd import compress as original_compress
from zstd import decompress
__all__ = ["compress", "decompress"]
def compress(data: bytes, level: int | None = None) -> bytes:
if level is None:
level = 9
return original_compress(data, level)