+ * @since 3.0.0
+ *
+ * @param array $groups List of groups that are global.
+ */
+ function add_global_groups( $groups ) {
+ $groups = (array) $groups;
+
+ $this->global_groups = array_merge($this->global_groups, $groups);
+ $this->global_groups = array_unique($this->global_groups);
+ }
+
+ /**
+ * Decrement numeric cache item's value
+ *
+ * @since 3.3.0
+ *
+ * @param int|string $key The cache key to increment
+ * @param int $offset The amount by which to decrement the item's value. Default is 1.
+ * @param string $group The group the key is in.
+ * @return false|int False on failure, the item's new value on success.
+ */
+ function decr( $key, $offset = 1, $group = 'default' ) {
+ if ( ! $this->_exists( $key, $group ) )
+ return false;
+
+ if ( ! is_numeric( $this->cache[ $group ][ $key ] ) )
+ $this->cache[ $group ][ $key ] = 0;
+
+ $offset = (int) $offset;
+
+ $this->cache[ $group ][ $key ] -= $offset;
+
+ if ( $this->cache[ $group ][ $key ] < 0 )
+ $this->cache[ $group ][ $key ] = 0;
+
+ return $this->cache[ $group ][ $key ];
+ }
+
+ /**
+ * Remove the contents of the cache key in the group
+ *
+ * If the cache key does not exist in the group and $force parameter is set