diff --git a/aurweb/routers/html.py b/aurweb/routers/html.py
index c3bcee49..2ec497bd 100644
--- a/aurweb/routers/html.py
+++ b/aurweb/routers/html.py
@@ -86,7 +86,7 @@ async def index(request: Request):
context = make_context(request, "Home")
context["ssh_fingerprints"] = util.get_ssh_fingerprints()
- cache_expire = aurweb.config.getint("cache", "expiry_time")
+ cache_expire = aurweb.config.getint("cache", "expiry_time_statistics", 300)
# Package statistics.
stats = Statistics(cache_expire)
diff --git a/aurweb/routers/packages.py b/aurweb/routers/packages.py
index f1b2a138..3f96d71c 100644
--- a/aurweb/routers/packages.py
+++ b/aurweb/routers/packages.py
@@ -90,7 +90,7 @@ async def packages_get(
# Including more query operations below, like ordering, will
# increase the amount of time required to collect a count.
# we use redis for caching the results of the query
- cache_expire = config.getint("cache", "expiry_time")
+ cache_expire = config.getint("cache", "expiry_time_search", 600)
num_packages = db_count_cache(hash_query(search.query), search.query, cache_expire)
# Apply user-specified sort column and ordering.
diff --git a/aurweb/statistics.py b/aurweb/statistics.py
index 934caa37..6e9dbe1f 100644
--- a/aurweb/statistics.py
+++ b/aurweb/statistics.py
@@ -89,7 +89,7 @@ class Statistics:
def update_prometheus_metrics():
- cache_expire = config.getint("cache", "expiry_time")
+ cache_expire = config.getint("cache", "expiry_time_statistics", 300)
stats = Statistics(cache_expire)
# Users gauge
for counter, utype in stats.PROMETHEUS_USER_COUNTERS:
diff --git a/conf/config.defaults b/conf/config.defaults
index 4e2415ed..ab0a9b67 100644
--- a/conf/config.defaults
+++ b/conf/config.defaults
@@ -169,5 +169,7 @@ range_end = 172800
[cache]
; maximum number of keys/entries (for search results) in our redis cache, default is 50000
max_search_entries = 50000
-; number of seconds after a cache entry expires, default is 3 minutes
-expiry_time = 180
+; number of seconds after a cache entry for search queries expires, default is 10 minutes
+expiry_time_search = 600
+; number of seconds after a cache entry for statistics queries expires, default is 5 minutes
+expiry_time_statistics = 300