Decrement the value of the storage.
@param string   $name The name of the item in store.
@param int|null $step The value to decrement, must be an integer.
@author : evalor <master@evalor.cn>
@return bool
971147
public function dec($name, $step = 1)
    {
        if ($this->has($name)) {
            $value  = $this->get($name) - $step;
            $expire = $this->expire;
        } else {
            $value  = -$step;
            $expire = 0;
        }

        return $this->set($name, $value, $expire) ? $value : false;
    }
575899
public function increment($key, $steps = 1)
    {
        $key = "integer-store::$key";

        if (!isset($this->cache[$key])) {
            $this->cache[$key] = 0;
        }

        $this->cache[$key] += $steps;

        return $this->cache[$key];
    }
499336
public function increment($key, $step = 1)
    {
        if (!$this->enabled)
            return false;

        $has_replaced = $has_set = false;
        try {
            // Store the cache object
            $nKey = $this->key($key);
            $has_replaced = @$this->getConnection()->add($nKey, $step, 0);
            if (!$has_replaced) {
                $has_set = @$this->getConnection()->increment($nKey, $step);
            }

        } catch (Exception $e) {
            throw new CacheException($e->getMessage(), $e->getCode());
        }

        $this->Logger->debug("". (($has_replaced || $has_set) ? "Successfully" : "Failed to") . " increment key '{$key}'\n");
//        $this->Logger->debug($data);

        return $has_replaced ? $step : $has_set;
    }
806577
public function nextStep($step = null)
    {
        $steps = $this->getStepsArray();
        $key = array_search($step, $steps);

        if (is_int($key) && $key < count($steps)-1) {
            return $steps[$key+1];
        }

        return false;
    }
506035
function (name, step) {
            if (this._counters.hasOwnProperty(name)) {
                this._counters[name] += (step || 1);
            } else {
                this._counters[name] = (step || 1);
            }
        }
503470
protected function rollbackTransaction($name = null)
    {
        $sql = "rollback transaction";
        if ($name !== null) {
            $sql = sprintf("rollback to savepoint %s", $this->escapeIdentifier($name));
        }

        $this->executeAnonymousQuery($sql);

        return $this;
    }
472849
public function decrement(string $key, int $step = 1): int {
		return $this->driver->decrby($key, $step);
	}
971700
public function decrement($key, $value = 1)
    {
        if ($this->exists($key)) {
            return self::$redis->decrBy($key, $value);
        } else {
            $this->set($key, -$value);

            return -$value;
        }
    }
725370
public function decrement($key, $value = 1)
	{
		$this->storage[$key] = $this->storage[$key] - $value;

		return $this->storage[$key];
	}
1159954
public function decrement($key, $steps = 1)
    {
        $key = "integer-store::$key";

        if (!isset($this->cache[$key])) {
            $this->cache[$key] = 0;
        }

        $this->cache[$key] -= $steps;

        return $this->cache[$key];
    }
241077
public function dropColumn( $table, $name )
    {
        try
        {
            $tmpTable = $table . '_old';

            $this->startTransaction();

            $this->copyTable( $table, $tmpTable, [ $name ] );

            $this->dropTable( $tmpTable );

            $this->commitTransaction();
        }
        catch ( Exception $e )
        {
            $this->rollbackTransaction();

            return FALSE;
        }

        return TRUE;
    }
951562
public function decrement(string $key, int $step = 1): int {
		return $this->driver->decrement($key, abs($step));
	}
790726
public static function comboRange($name, $low, $high, $step = null, $value = null, array $attributes = array())
    {
        $range = $step !== null ? range($low, $high, $step) : range($low, $high);
        $range = array_combine($range, $range);

        return self::combo($name, $range, $value, $attributes);
    }
45590
public function increment(string $key, int $step = 1): int {
		return $this->driver->increment($key, abs($step));
	}
178026
public function push($name) {
		$this->validateName($name);
		$obj = $this->preserveInstance ? $this : clone $this;
		$args = func_get_args();
		array_shift($args);
		if (empty($args))
			return 0;
		
		if (!array_key_exists($name, $obj->config))
			$obj->config[$name] = $args;
		else {
			if (!is_array($obj->config[$name]))
				$obj->config[$name] = [$obj->config[$name]];
			
			foreach($args as $arg)
				$obj->config[$name][] = $arg; //faster than array_push
		}
		
		return $obj;
	}
657533
public function increment($key, $step = 1)
    {
        $success = false;
        apcu_inc($this->prefixKey . $key, $step, $success);

        return $success;
    }
1094231
public function remove($name)
    {
        if (!isset($this->data[$name])) {
            return null;
        }
        $value = $this->data[$name];
        unset($this->data[$name]);
        return $value;
    }