API for caching common counters to reduce DB queries

Installs: 3

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0


v1.0.2 2021-05-29 14:30 UTC

This package is auto-updated.

Last update: 2024-01-29 04:19:15 UTC


Elgg 3.0

API for caching common entity data to reduce DB queries

  • Caches entity likes count
  • Caches entity comments count
  • Caches last comment
  • Caches user friends count
  • Caches group members count

Developer Notes


The plugin uses preloader classes to load values from the database on first request. The value is cached and returned on consequent calls. Preloader::up() can be used to define when the cached value should be reset. For example, the value of likes is constant until a new like annotation is created, or an old is deleted, so we register our reset function for those events.


You can use helper functions to retrieve counts using caching framework. All available shortcut functions can be found in /lib/functions.php

// etc.

Custom Properties

$stash = \hypeJunction\Stash\Stash::instance();

// Register a new cacheable property
$stash->register(new CustomProperty()); // Custom property must implement Preloader interface

// Get property value
$prop = $stash->get(CustomProperty::PROPERTY, $entity);