diff options
author | Byron Jones <glob@mozilla.com> | 2015-09-02 07:41:48 +0200 |
---|---|---|
committer | Byron Jones <glob@mozilla.com> | 2015-09-02 07:41:48 +0200 |
commit | 0f2dd8d714a424cf383d925f8b55a098716b0660 (patch) | |
tree | 93f4c1304268eefd0ca169be1260be257309acd9 /Bugzilla | |
parent | 34e6b2e7cad19a2345328323fd81ac477e13e7eb (diff) | |
download | bugzilla-0f2dd8d714a424cf383d925f8b55a098716b0660.tar.gz bugzilla-0f2dd8d714a424cf383d925f8b55a098716b0660.tar.xz |
Bug 1199136 - lower memory consumption to better operate in bugzilladm's
low memory environment
Diffstat (limited to 'Bugzilla')
-rw-r--r-- | Bugzilla/Object.pm | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Bugzilla/Object.pm b/Bugzilla/Object.pm index 2349b57e6..84d384d2b 100644 --- a/Bugzilla/Object.pm +++ b/Bugzilla/Object.pm @@ -276,6 +276,16 @@ sub object_cache_key { } } +sub object_cache_clearall { + my $class = shift; + my $cache = Bugzilla->request_cache; + $class = blessed($class) if blessed($class); + my $prefix = $class . ','; + foreach my $key (grep { substr($_, 0, length($prefix)) eq $prefix } keys %$cache) { + delete $cache->{$key}; + } +} + # To support serialisation, we need to capture the keys in an object's default # hashref. sub _serialisation_keys { @@ -1526,6 +1536,28 @@ $bug->object_cache_set(); =back +=item C<object_cache_clearall> + +=over + +=item B<Description> + +Removes all objects for the specified class from the cache. + +=item B<Params> + +(none) + +=item B<Returns> + +(nothing) + +=item B<Example> + +Bugzilla::User->object_cache_clearall(); + +=back + =back =head1 CLASS FUNCTIONS |