I am currently working on a python script to monitor Redis streams. It makes sure that the stream is trimmed within 1 hr. I have also tried limited the max length of the Redis stream. For some reason, the code simply does not work?
Code:
import redis
r = redis.StrictRedis(host='localhost', port=6379, db=0)
stream_name = 'data'
stream_length = r.xlen(stream_name)
print(f"Stream length before trimming: {stream_length}")
trimmed_items = r.xtrim(stream_name, maxlen=2)
stream_length_after = r.xlen(stream_name)
print(f"Stream length after trimming: {stream_length_after}")
Stream:
-
- "1730805885003-1"
-
- "event"
- "event_9"
- "timestamp"
- "1730805700309-0"
-
- "1730805885003-0"
-
- "event"
- "event_8"
- "timestamp"
- "1730805700308-0"
-
- "1730805885002-2"
-
- "event"
- "event_7"
- "timestamp"
- "1730805700307-0"
-
- "1730805885002-1"
-
- "event"
- "event_6"
- "timestamp"
- "1730805700306-0"
-
- "1730805885002-0"
-
- "event"
- "event_5"
- "timestamp"
- "1730805700305-0"
-
- "1730805885001-2"
-
- "event"
- "event_4"
- "timestamp"
- "1730805700304-0"