我配置了redis注解缓存,为啥不起作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我配置了redis注解缓存,为啥不起作用相关的知识,希望对你有一定的参考价值。

参考技术A 作为缓存服务器,如果不加以限制内存的话,就很有可能出现将整台服务器内存都耗光的情况,可以在redis的配置文件里面设置:
example:
#
限定最多使用1.5GB内存
maxmemory
1536mb
如果内存到达了指定的上限,还要往redis里面添加更多的缓存内容,需要设置清理内容的策略:
默认为0,没有指定最大缓存,如果有新的数据添加,超过最大内存,则会使redis崩溃,所以一点要设置。
设置maxmemory之后,配合的要设置缓存数据回收策略。

为啥 Laravel 中的新路线不起作用?

【中文标题】为啥 Laravel 中的新路线不起作用?【英文标题】:Why are new routes in Laravel not working?为什么 Laravel 中的新路线不起作用? 【发布时间】:2019-12-04 04:17:06 【问题描述】:

我已经在我的这个项目上工作了一段时间,直到今天我的路线都没有问题。

我什至尝试过清除缓存和转储自动加载。似乎没有任何效果。

我今天尝试添加一条新路线,但出现 404 错误。我也用过“get”和“any”,都无济于事。

起初,我尝试创建了几条新路线,但仍然遇到相同的 404 错误。下面是我的 web.php 的一部分的样子。

Route::group(['middleware' => ['auth', 'role:teacher']], function () 
    Route::any('/testing', 'PagesController@testing');


    Route::resource('/attendance', 'AttendanceController');
    Route::get('/teacher/dashboard', 'TeachersController@dashboard')->name('teacher.dashboard');
    Route::resource('homework', 'HomeworkController');
    Route::resource('/teacher/events', 'EventsController',['names' => 
    'teacher.events']);
    Route::any('/view_students', 'StudentsController@myStudents')->name('view.students');
    Route::resource('results', 'CoursesResultController');
    Route::get('/results/class_course/id', 'CoursesResultController@showCourseResult');
    Route::post('/results/class_course/id', 'CoursesResultController@saveCourseResult');


);

编辑:我已经解决了这个问题。我不得不手动删除引导文件夹中的缓存文件。谢谢各位。

【问题讨论】:

哪些路由不起作用,当您尝试访问该路由时它显示为 URL 的内容是什么? 到目前为止我添加的所有新路线都没有工作,但旧路线正在工作。 “/testing”是我刚刚添加的最新路线,但也不起作用 让我们先看看你的 pagescontroller,也许我们可以在那里找到线索。 php artisan route:clear,然后是php artisan route:list 大家好!我已经解决了这个问题。我不得不手动删除缓存文件。 【参考方案1】:

将您的代码替换为以下内容:

Route::resource() 为您生成所有可能的路线,因此应保留为最后一个可能的点。

Route::group(['middleware' => ['auth', 'role:teacher']], function () 
    Route::any('/testing', 'PagesController@testing');


    Route::resource('/attendance', 'AttendanceController');
    Route::get('/teacher/dashboard', 'TeachersController@dashboard')->name('teacher.dashboard');
    Route::resource('homework', 'HomeworkController');
    Route::resource('/teacher/events', 'EventsController',['names' => 
    'teacher.events']);
    Route::any('/view_students', 'StudentsController@myStudents')->name('view.students');

    /* changes over here
       `Route::resource()` generates all the possible routes for you, hence should be kept as the last possible point.
    */
    Route::get('/results/class_course/id', 'CoursesResultController@showCourseResult');
    Route::post('/results/class_course/id', 'CoursesResultController@saveCourseResult');
    Route::resource('results', 'CoursesResultController');

);

【讨论】:

我已经能够解决这个问题。显然,引导文件夹中的缓存文件与路由中的 URI 冲突。 不。我刚刚从引导文件夹中手动删除了缓存和配置文件

以上是关于我配置了redis注解缓存,为啥不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Redis 缓存指标在 SpringBoot 2.4.2 版本中不起作用

Spring中为啥@Transactional注解打在Controller层的方法上不起作用

为啥 Laravel 中的新路线不起作用?

使用@Cacheable 的Spring 缓存在启动@PostConstruct 时不起作用

为啥在火花中运行时配置单元查询不起作用

为啥 Laravel 发布方法在路由器页面上不起作用?