Implement a simple in-memory cache using a dictionary with TTL support to reduce database load for repeated queries. The cache is integrated into the data retrieval functions, with configurable expiration times and automatic cleanup of stale entries.
The commit introduces a new plot function that visualizes user growth data using matplotlib. It creates a line chart with dates on the x-axis and user counts on the y-axis, including axis labels, a title, and a grid for improved readability. The plot is saved to a PNG file for documentation purposes.