protected function reduce_for_maxsize() {
        $diff = $this->storecount - $this->maxsize;
        if ($diff < 1) {
            return 0;
        }
        // Reduce it by an extra 10% to avoid calling this repetitively if we are in a loop.
        $diff += floor($this->maxsize / 10);
        $this->store = array_slice($this->store, $diff, null, true);
        $this->storecount -= $diff;
        return $diff;
    }
protected function reduce_for_maxsize() {
        $diff = $this->storecount - $this->maxsize;
        if ($diff < 1) {
            return 0;
        }
        // Reduce it by an extra 10% to avoid calling this repetitively if we are in a loop.
        $diff += floor($this->maxsize / 10);
        $this->store = array_slice($this->store, $diff, null, true);
        $this->storecount -= $diff;
        return $diff;
    }
protected function reduce_for_maxsize ( ) { $ diff = $ this -> storecount - $ this -> maxsize ; if ( $ diff < 1 ) { return 0 ; } // Reduce it by an extra 10% to avoid calling this repetitively if we are in a loop. $ diff += floor ( $ this -> maxsize / 10 ) ; $ this -> store = array_slice ( $ this -> store , $ diff , null , true ) ; $ this -> storecount -= $ diff ; return $ diff ; }
Reduces the size of the array if maxsize has been hit.

This function reduces the size of the store reducing it by 10% of its maxsize.
It removes the oldest items in the store when doing this.
The reason it does this an doesn't use a least recently used system is purely the overhead such a system
requires. The current approach is focused on speed, MUC already adds enough overhead to static/session caches
and avoiding more is of benefit.

@return int
Reduces the size of the array if maxsize has been hit .