@@ -147,17 +147,31 @@ def cache_display_name(self) -> str:
147147 """Human-readable cache name for display (e.g., "flags", "team metadata")."""
148148 return self .cache_name .replace ("_" , " " )
149149
150+ @property
151+ def _django_key_prefix (self ) -> str :
152+ """Get Django cache key prefix (e.g., 'posthog:1:')."""
153+ # Django redis cache uses KEY_PREFIX + VERSION to build the full prefix
154+ # Default version is 1, resulting in "posthog:1:" prefix
155+ cache_client = self .hypercache .cache_client
156+ key_prefix = getattr (cache_client , "key_prefix" , "" )
157+ version = getattr (cache_client , "version" , 1 )
158+ if key_prefix :
159+ return f"{ key_prefix } :{ version } :"
160+ return ""
161+
150162 @property
151163 def redis_pattern (self ) -> str :
152164 """Redis key pattern for scanning all cache entries."""
153165 prefix = "team_tokens" if self .hypercache .token_based else "teams"
154- return f"cache/{ prefix } /*/{ self .namespace } /*"
166+ django_prefix = self ._django_key_prefix
167+ return f"{ django_prefix } cache/{ prefix } /*/{ self .namespace } /*"
155168
156169 @property
157170 def redis_stats_pattern (self ) -> str :
158171 """Specific Redis pattern for stats (includes value file)."""
159172 prefix = "team_tokens" if self .hypercache .token_based else "teams"
160- return f"cache/{ prefix } /*/{ self .namespace } /{ self .hypercache .value } "
173+ django_prefix = self ._django_key_prefix
174+ return f"{ django_prefix } cache/{ prefix } /*/{ self .namespace } /{ self .hypercache .value } "
161175
162176 @property
163177 def expiry_sorted_set_key (self ) -> str :
@@ -211,7 +225,7 @@ def invalidate_all_caches(config: HyperCacheManagementConfig) -> int:
211225 Number of cache keys deleted
212226 """
213227 try :
214- redis_client = get_client ()
228+ redis_client = get_client (config . hypercache . redis_url )
215229
216230 deleted = 0
217231 for key in redis_client .scan_iter (match = config .redis_pattern , count = 1000 ):
@@ -417,7 +431,7 @@ def get_cache_stats(config: HyperCacheManagementConfig) -> dict[str, Any]:
417431 Dictionary with cache statistics including size information
418432 """
419433 try :
420- redis_client = get_client ()
434+ redis_client = get_client (config . hypercache . redis_url )
421435
422436 total_keys = 0
423437 ttl_buckets = {
0 commit comments