X7ROOT File Manager
Current Path:
/home/prisjneg/public_html/vendor/laravel/framework/src/Illuminate/Cache
home
/
prisjneg
/
public_html
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Cache
/
📁
..
📄
ApcStore.php
(2.46 KB)
📄
ApcWrapper.php
(1.93 KB)
📄
ArrayLock.php
(2.1 KB)
📄
ArrayStore.php
(4.67 KB)
📄
CacheLock.php
(1.79 KB)
📄
CacheManager.php
(10.64 KB)
📄
CacheServiceProvider.php
(1.32 KB)
📁
Console
📄
DatabaseLock.php
(3.76 KB)
📄
DatabaseStore.php
(10.78 KB)
📄
DynamoDbLock.php
(1.54 KB)
📄
DynamoDbStore.php
(14.6 KB)
📁
Events
📄
FileLock.php
(271 B)
📄
FileStore.php
(9.67 KB)
📄
HasCacheLock.php
(681 B)
📄
LICENSE.md
(1.05 KB)
📄
Lock.php
(3.5 KB)
📄
LuaScripts.php
(462 B)
📄
MemcachedConnector.php
(2.33 KB)
📄
MemcachedLock.php
(1.42 KB)
📄
MemcachedStore.php
(6.18 KB)
📄
NoLock.php
(692 B)
📄
NullStore.php
(2.34 KB)
📄
PhpRedisLock.php
(829 B)
📄
RateLimiter.php
(5.29 KB)
📁
RateLimiting
📄
RedisLock.php
(1.73 KB)
📄
RedisStore.php
(10.14 KB)
📄
RedisTagSet.php
(3.13 KB)
📄
RedisTaggedCache.php
(3.03 KB)
📄
Repository.php
(16.69 KB)
📄
RetrievesMultipleKeys.php
(1.13 KB)
📄
TagSet.php
(2.46 KB)
📄
TaggableStore.php
(421 B)
📄
TaggedCache.php
(2.5 KB)
📄
composer.json
(1.49 KB)
Editing: DatabaseLock.php
<?php namespace Illuminate\Cache; use Illuminate\Database\Connection; use Illuminate\Database\QueryException; class DatabaseLock extends Lock { /** * The database connection instance. * * @var \Illuminate\Database\Connection */ protected $connection; /** * The database table name. * * @var string */ protected $table; /** * The prune probability odds. * * @var array */ protected $lottery; /** * The default number of seconds that a lock should be held. * * @var int */ protected $defaultTimeoutInSeconds; /** * Create a new lock instance. * * @param \Illuminate\Database\Connection $connection * @param string $table * @param string $name * @param int $seconds * @param string|null $owner * @param array $lottery * @return void */ public function __construct(Connection $connection, $table, $name, $seconds, $owner = null, $lottery = [2, 100], $defaultTimeoutInSeconds = 86400) { parent::__construct($name, $seconds, $owner); $this->connection = $connection; $this->table = $table; $this->lottery = $lottery; $this->defaultTimeoutInSeconds = $defaultTimeoutInSeconds; } /** * Attempt to acquire the lock. * * @return bool */ public function acquire() { try { $this->connection->table($this->table)->insert([ 'key' => $this->name, 'owner' => $this->owner, 'expiration' => $this->expiresAt(), ]); $acquired = true; } catch (QueryException) { $updated = $this->connection->table($this->table) ->where('key', $this->name) ->where(function ($query) { return $query->where('owner', $this->owner)->orWhere('expiration', '<=', time()); })->update([ 'owner' => $this->owner, 'expiration' => $this->expiresAt(), ]); $acquired = $updated >= 1; } if (random_int(1, $this->lottery[1]) <= $this->lottery[0]) { $this->connection->table($this->table)->where('expiration', '<=', time())->delete(); } return $acquired; } /** * Get the UNIX timestamp indicating when the lock should expire. * * @return int */ protected function expiresAt() { $lockTimeout = $this->seconds > 0 ? $this->seconds : $this->defaultTimeoutInSeconds; return time() + $lockTimeout; } /** * Release the lock. * * @return bool */ public function release() { if ($this->isOwnedByCurrentProcess()) { $this->connection->table($this->table) ->where('key', $this->name) ->where('owner', $this->owner) ->delete(); return true; } return false; } /** * Releases this lock in disregard of ownership. * * @return void */ public function forceRelease() { $this->connection->table($this->table) ->where('key', $this->name) ->delete(); } /** * Returns the owner value written into the driver for this lock. * * @return string */ protected function getCurrentOwner() { return optional($this->connection->table($this->table)->where('key', $this->name)->first())->owner; } /** * Get the name of the database connection being used to manage the lock. * * @return string */ public function getConnectionName() { return $this->connection->getName(); } }
Upload File
Create Folder