Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
09/14/2016 02:06:10 AM (9 years ago)
Author:
boonebgorges
Message:

Activity: Invalidate query caches when a user's 'last_activity' is updated.

User 'last_activity' is stored in the activity table, but not updated
via the Activity API, so regular invalidation techniques do not work.

In addition, 'last_activity' is quite frequently updated, meaning that
the activity query cache becomes less valuable. To mitigate this, the
current changeset separates the cache for queries containing
'last_activity' from the cache for those that do not.

Fixes #7245.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-members/bp-members-cache.php

    r10711 r11101  
    6262add_action( 'wpmu_delete_user', 'bp_members_clear_member_type_cache' );
    6363add_action( 'delete_user', 'bp_members_clear_member_type_cache' );
     64
     65/**
     66 * Invalidate activity caches when a user's last_activity value is changed.
     67 *
     68 * @since 2.7.0
     69 *
     70 * @return bool True on success, false on failure.
     71 */
     72function bp_members_reset_activity_cache_incrementor() {
     73    return bp_core_reset_incrementor( 'bp_activity_with_last_activity' );
     74}
     75add_action( 'bp_core_user_updated_last_activity', 'bp_members_reset_activity_cache_incrementor' );
Note: See TracChangeset for help on using the changeset viewer.