src/ThrottleTrait.php
protected function _touch()
    {
        if (Cache::read($this->_identifier, static::$cacheConfig) === false) {
            Cache::write($this->_identifier, 0, static::$cacheConfig);
            Cache::write(
                $this->_getCacheExpirationKey(),
                strtotime($this->getConfig('interval'), time()),
                static::$cacheConfig
            );
        }

        return Cache::increment($this->_identifier, 1, static::$cacheConfig);
    }
protected function _touch()
    {
        if (Cache::read($this->_identifier, static::$cacheConfig) === false) {
            Cache::write($this->_identifier, 0, static::$cacheConfig);
            Cache::write(
                $this->_getCacheExpirationKey(),
                strtotime($this->getConfig('interval'), time()),
                static::$cacheConfig
            );
        }

        return Cache::increment($this->_identifier, 1, static::$cacheConfig);
    }
protected function _touch ( ) { if ( Cache :: read ( $ this -> _identifier , static :: $ cacheConfig ) === false ) { Cache :: write ( $ this -> _identifier , 0 , static :: $ cacheConfig ) ; Cache :: write ( $ this -> _getCacheExpirationKey ( ) , strtotime ( $ this -> getConfig ( 'interval' ) , time ( ) ) , static :: $ cacheConfig ) ; } return Cache :: increment ( $ this -> _identifier , 1 , static :: $ cacheConfig ) ; }
Atomically updates cache using default CakePHP increment offset 1.

Please note that the cache key needs to be initialized to prevent
increment() failing on 0. A separate cache key is created to store
the interval expiration time in epoch.

@return mixed
Atomically updates cache using default CakePHP increment offset 1 .