aiocache icon indicating copy to clipboard operation
aiocache copied to clipboard

Use build_key(key, namespace) consistently across modules and classes

Open padraic-shafer opened this issue 2 years ago • 2 comments

  • See #569 for more information
  • Use namespace for decorators get/set
    • Include build_key(key, namespace) in decorators.cached:
      • get_from_cache()
    • set_in_cache()
  • Use namespace for HitMissRatioPlugin key
    • Use namespace, if available, to build key that is passed to plugins.HitMissRatioPlugin.post_get()
  • Introduce key_filter for confirming key is in namespace
    • BaseCache.key_filter(key, namespace) returns True if key is in the namespace
    • backends.memory.SimpleMemoryBackend uses this to seleectively clear its cache for the given namespace

What do these changes do?

Keys with namespaces now work throughout the aiocache package

  • Use namespace for decorators get/set
  • Use namespace for HitMissRatioPlugin key
  • Introduce key_filter for confirming key is in namespace

Are there changes in behavior for the user?

Keys with namespaces now work throughout the aiocache package. This includes using:

  • the @cached() decorator
  • the HitMissRatioPlugin plugin
  • the SimpleMemoryCache.clear() member

Related issue number

#569: build_key(key, namespace) is missing from some modules/classes

Checklist

  • [X] I think the code is well written
  • [ ] Unit tests for the changes exist
  • [X] Documentation reflects the changes
  • [ ] Add a new news fragment into the CHANGES folder
    • name it <issue_id>.<type> (e.g. 588.bugfix)
    • if you don't have an issue_id change it to the pr id after creating the PR
    • ensure type is one of the following:
      • .feature: Signifying a new feature.
      • .bugfix: Signifying a bug fix.
      • .doc: Signifying a documentation improvement.
      • .removal: Signifying a deprecation or removal of public API.
      • .misc: A ticket has been closed, but it is not of interest to users.
    • Make sure to use full sentences with correct case and punctuation, for example: Fix issue with non-ascii contents in doctest text files.

padraic-shafer avatar Apr 24 '22 01:04 padraic-shafer

Hi, do you have an feedback for this PR?

padraic-shafer avatar May 29 '22 14:05 padraic-shafer

Thanks, but will need a test that shows the incorrect behaviour.

Also, please update to latest master, thanks.

Dreamsorcerer avatar Dec 30 '22 22:12 Dreamsorcerer