2
我正在構建使用Laravel的登錄限制系統,該系統用於將每個失敗的登錄名保存在緩存數據庫中。 (我使用Redis)。如何使用Laravel上的標籤獲取所有緩存條目
代碼:
class FailedLogins
{
const NUM_FAILURES_TO_LOCK = 30,
TIME_RANGE = 10; // In minutes
public function add($email, $ip = null)
{
if (is_null($ip))
$ip = request()->ip();
$index = md5($email . $ip);
Cache::tags('failed.logins')->put($index, 1, self::TIME_RANGE);
}
public function hasTooMany()
{
$numFailedLogins = count(Cache::tags('failed.logins')->get());
return ($numFailedLogins >= self::NUM_FAILURES_TO_LOCK);
}
}
的問題是在hasTooMany
方法,我必須提供對get
方法的關鍵參數。我在這條線上試圖做的是:Cache::tags('failed.logins')->get()
是爲了得到failed.logins
標籤的所有條目,所以我可以統計有多少條。
那麼,這是行不通的,因爲我不能這樣做。那麼你推薦我使用什麼,這樣我可以解決它?如果它只是一個Redis解決方案,那也不錯。