thread_store.rst 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. ============
  2. Thread Store
  3. ============
  4. Thread store is simple memory-based cache some Misago features use to maintain state for request duration.
  5. Thread store lives in :py:mod:`misago.core.threadstore` and offers subset of standard cache API known from Django
  6. get
  7. ===
  8. .. function:: get(key, default=None)
  9. Get value for key from thread store or default value if key is undefined::
  10. >>> from misago.core import threadstore
  11. >>> threadstore.get('peach')
  12. None
  13. >>> threadstore.get('peach', 'no peach!')
  14. 'no peach!'
  15. get() never raises an exception for non-existant value which is why you should avoid storing "None" values and use custom default values to spot non-existant keys.
  16. set
  17. ===
  18. .. function:: set(key, value)
  19. Set value for a key on thread store. This value will then be stored until you overwrite it with new value, thread is killed, :py:mod:`misago.core.middleware.ThreadStoreMiddleware` process_response method is called, or you explictly call clear() funciton, clearing thread store.
  20. clear
  21. =====
  22. .. function:: clear()
  23. Delete all values from thread store. This function is automatically called by ThreadStoreMiddleware to make sure contents of thread store won't have effect on next request.