+ * @return bool False if cache key and group already exist, true on success
+ */
+ function add( $key, $data, $group = 'default', $expire = '' ) {
+ if ( wp_suspend_cache_addition() )
+ return false;
+
+ if ( empty( $group ) )
+ $group = 'default';
+
+ $id = $key;
+ if ( $this->multisite && ! isset( $this->global_groups[ $group ] ) )
+ $id = $this->blog_prefix . $key;
+
+ if ( $this->_exists( $id, $group ) )
+ return false;
+
+ return $this->set($key, $data, $group, $expire);
+ }
+
+ /**
+ * Sets the list of global groups.
+ *
+ * @since 3.0.0
+ *
+ * @param array $groups List of groups that are global.
+ */
+ function add_global_groups( $groups ) {
+ $groups = (array) $groups;
+
+ $groups = array_fill_keys( $groups, true );
+ $this->global_groups = array_merge( $this->global_groups, $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.