本文整理匯總了PHP中Illuminate\Contracts\Cache\Repository::add方法的典型用法代碼示例。如果您正苦於以下問題:PHP Repository::add方法的具體用法?PHP Repository::add怎麽用?PHP Repository::add使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Illuminate\Contracts\Cache\Repository
的用法示例。
在下文中一共展示了Repository::add方法的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: retrieveById
/**
* @param mixed $identifier
* @return \Illuminate\Contracts\Auth\Authenticatable|null
*/
public function retrieveById($identifier)
{
$cacheKey = "user:{$identifier}";
if ($this->cache->has($cacheKey)) {
return $this->cache->get($cacheKey);
}
$result = $this->createModel()->newQuery()->find($identifier);
if (is_null($result)) {
return null;
}
$this->cache->add($cacheKey, $result, 120);
return $result;
}
示例2: handle
/**
* Source: http://fideloper.com/laravel-http-middleware.
*/
public function handle($request, Closure $next)
{
$limit = $this->config->get('api.ratelimit.requests');
$time = $this->config->get('api.ratelimit.time');
// Rate limit by IP address
$key = sprintf('api:%s', $request->get('key'));
// Add if doesn't exist
$this->cache->add($key, 0, $time);
// Add to count
$count = $this->cache->increment($key);
if ($count > $limit) {
throw new TooManyRequestsHttpException($time * 60, 'Rate limit exceed.');
}
return $next($request);
}
示例3: addHit
/**
* Increment the hit counter for the cache key.
*
* @param string $key
*
* @return bool
*/
public function addHit($key)
{
if (!$this->cache->has($this->getKey($key))) {
return $this->cache->add($this->getKey($key), 1, 1);
}
return $this->cache->increment($this->getKey($key), 1);
}
開發者ID:bexarcreative,項目名稱:using-rate-limiting-on-method-calls-with-laravel,代碼行數:14,代碼來源:RateLimiter.php
示例4: retrieveById
/**
* Authコンポーネントのuser()メソッドなどを利用した場合に実行されるメソッドです
* デフォルトの場合、user()メソッドコール時に都度SQLが発行されますので、cacheを利用します。
* ユーザー情報更新時などにcacheを再生成するように実裝します。
*
* @param mixed $identifier
*
* @return \Illuminate\Contracts\Auth\Authenticatable|null
*/
public function retrieveById($identifier)
{
/**
* user:$identifier(user_id) としてキャッシュを検索し、
* 見つからない場合は作成してデータベースから取得したデータを保持します
* 以降はデータベースへアクセスしません
*/
$cacheKey = "user:{$identifier}";
if ($this->cache->has($cacheKey)) {
return $this->cache->get($cacheKey);
}
$result = $this->createModel()->newQuery()->find($identifier);
if (is_null($result)) {
return null;
}
$this->cache->add($cacheKey, $result, 120);
return $result;
}
示例5: hit
/**
* Increment the counter for a given key for a given decay time.
*
* @param string $key
* @param int $decayMinutes
* @return int
*/
public function hit($key, $decayMinutes = 1)
{
$this->cache->add($key, 1, $decayMinutes);
return (int) $this->cache->increment($key);
}
示例6: add
/**
* Store an item in the cache if the key does not exist.
*
* @param string $key
* @param mixed $value
* @param \DateTime|int $minutes
* @return bool
*/
public function add($key, $value, $minutes)
{
return $this->cache->add($key, $value, $minutes);
}
示例7: lockOut
/**
* Lock a user out.
*
* @author Andrea Marco Sartori
* @return void
*/
public function lockOut()
{
$this->resetAttempts();
$this->cache->add($this->lockOutKey, $this->getDelay() + time(), $this->getExpiry());
}
示例8: fire
/**
* @param $job
* @param $data
* @return mixed
*/
public function fire($job, $data)
{
$this->queueToEventDispatcher->fire($job, $data);
$this->cache->add($data['command_id'], new Carbon(), 1);
}