Replace zscan_iter with zrevrange
authorJacob <jobs@jacobcasper.com>
Sun, 7 Sep 2025 20:22:25 +0000 (15:22 -0500)
committerJacob <jobs@jacobcasper.com>
Sun, 7 Sep 2025 20:22:25 +0000 (15:22 -0500)
app.py
redis_client.py

diff --git a/app.py b/app.py
index 190e8844b47a4b112e5d63d2e6da254de699472f..d3eb0039da16276dbf1028137105ee5a4a93546a 100644 (file)
--- a/app.py
+++ b/app.py
@@ -22,9 +22,7 @@ def create_app():
     def stats():
         redis_client.increment_hits("stats")
         try:
-            stats = sorted(
-                [stat for stat in redis_client.get_stats()], key=lambda stat: -stat[1]
-            )
+            stats = redis_client.get_stats()
             return {"stats": [{stat[0]: stat[1]} for stat in stats]}
         except redis.exceptions.ConnectionError as e:
             app.logger.exception(e)
index cb366eac0cbe1ac5b9abd8de20d61a5aff44f951..19b2d99583606e7dc1d0d2a525802bc9da95abdf 100644 (file)
@@ -23,7 +23,7 @@ class RedisClient:
 
     def get_stats(self) -> list[tuple]:
         """Returns stats values from a Redis sorted set as a tuple of key-value pairs."""
-        stats = self.r.zscan_iter("hits", score_cast_func=int)
+        stats = self.r.zrevrange("hits", 0, -1, withscores=True, score_cast_func=int)
         if stats is None:
             logger.debug("Uninitialized stats object")
             return []