mod_cache_users
Module Description
mod_cache_users
is a module that caches whether a user exists, and possibly stores metadata assigned to them. This is useful for example to decide if a message should be stored in MAM or Inbox — for example, the receiver might not exist, so no message should be stored in his archive nor his inbox.
This cache uses segmented cache under the hood, for more details, read the library documentation.
Options
modules.mod_cache_users.strategy
- Syntax: string, one of
fifo
orlru
- Default:
fifo
- Example:
strategy = "lru"
Eviction strategy for the cache. FIFO is simply a queue, that ensures records will eventually be evicted and require reloading; LRU ensures queried records keep moving to the front of the queue, possibly keeping them alive forever.
modules.mod_cache_users.time_to_live
- Syntax: integer, in minutes, or the string
"infinity"
- Default:
8 * 60
(8h) - Example:
time_to_live = 480
Time between rotations, that is, the time a single table will live. A record that is inserted in the first table will live as long as this ttl multiplied by the number of tables.
modules.mod_cache_users.number_of_segments
- Syntax: integer
- Default:
3
- Example:
number_of_segments = 3
Number of segments the cache has. The more segments there are, the more fine-grained the cache can be, but the slower queries will be: query the cache checks the tables in order until a match is found.
Example configuration
1 2 3 4 |
|