@@ -165,12 +165,14 @@ async def inner_wrapper(
165165
166166 ignore_args = redis_cache .ignore_arg_types
167167
168- if all ([ redis_cache .redis , redis_cache .connected , tag , kwargs ]) :
168+ if redis_cache .redis and redis_cache .connected and tag and kwargs :
169169 # remove any args that should not be used to generate the cache
170170 # key.
171171 filtered_kwargs = kwargs .copy ()
172- for arg in ignore_args :
173- filtered_kwargs .pop (arg , None )
172+ for key in list (filtered_kwargs .keys ()):
173+ if type (filtered_kwargs [key ]) in ignore_args :
174+ del filtered_kwargs [key ]
175+ # create the search string to find the keys to expire.
174176 search = "" .join (
175177 [
176178 f"({ key } ={ value } )"
@@ -179,12 +181,18 @@ async def inner_wrapper(
179181 )
180182 tag_keys = redis_cache .get_tagged_keys (tag )
181183 found_keys = [key for key in tag_keys if search .encode () in key ]
182- for key in found_keys :
184+ for this_key in found_keys :
185+ key_str = (
186+ this_key .decode ()
187+ if isinstance (this_key , bytes )
188+ else this_key
189+ )
190+
183191 redis_cache .log (
184- RedisEvent .KEY_DELETED_FROM_CACHE , key = key . decode ( )
192+ RedisEvent .KEY_DELETED_FROM_CACHE , key = str ( key_str )
185193 )
186- redis_cache .redis .delete (key )
187- redis_cache .redis .srem (tag , key )
194+ redis_cache .redis .delete (key_str )
195+ redis_cache .redis .srem (tag , key_str )
188196
189197 return Response (
190198 content = serialize_json (orig_response ),
0 commit comments