Laravel Cache似乎无法正常工作

时间:2015-12-21 18:58:19

标签: caching laravel-5

我是Laravel的新手。我使用Cache Facade缓存服务器上的一些数据,缓存驱动程序是" file"。下面是我的代码的一部分有问题:

            // at the very beginning, forget the cache item, and run only once
            if (Cache::has('votes_record')) {
                Cache::forget('votes_record');
            }

            ...
            ...


line 147    if (Cache::has('votes_record')) {
line 148        $votes_record = Cache::get('votes_record');
line 149        if (array_key_exists($input['From'], $votes_record)){
                    // do something here
                }
            } else {
                // first time, create this array
                $score = 0;              
                $votes_record = array(
                    $input['From'] => array(
                        'score' => $score,
                    )
                )
                Cache::put('votes_record', $votes_record, 60);
            }

上面的代码(来自第147行)将多次运行,这是错误消息:exception 'ErrorException' with message 'array_key_exists() expects parameter 2 to be array, null given' in /app/Http/Controllers/VotesController.php:149

所以它说 $ votes_record 为空,但我检查第147行是否存在此Cache项,并且它通过了检查,这意味着Cache项存在,为什么它返回null第148行?

上面的错误并不是一直发生的,它看起来是随机发生的,当有很多请求调用这段代码时(来自第147行),

谢谢!

0 个答案:

没有答案