Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我应该缓存所有东西吗_Php_Laravel_Caching - Fatal编程技术网

Php 我应该缓存所有东西吗

Php 我应该缓存所有东西吗,php,laravel,caching,Php,Laravel,Caching,我马上就要完成我的申请了。我目前正在使用laravel上的文件缓存来缓存每次保存、更新或删除记录时保存在表中的所有数据。这些表格在一段时间内(可能在3年或更短的时间内)将有超过200万条记录。我想知道在缓存所有记录的文件中是否有任何陷阱需要注意。有没有人预见到一段时间内数十万条记录的文件缓存会出现问题 目前,缓存系统的工作方式是,当我保存新记录、删除或更新记录时,它会重置相关表/记录的缓存。我的每个表/和大多数记录都有自己的缓存。有没有人预见到这种设计在一个非常大的数据库中会出现任何问题 问候,

我马上就要完成我的申请了。我目前正在使用laravel上的文件缓存来缓存每次保存、更新或删除记录时保存在表中的所有数据。这些表格在一段时间内(可能在3年或更短的时间内)将有超过200万条记录。我想知道在缓存所有记录的文件中是否有任何陷阱需要注意。有没有人预见到一段时间内数十万条记录的文件缓存会出现问题

目前,缓存系统的工作方式是,当我保存新记录、删除或更新记录时,它会重置相关表/记录的缓存。我的每个表/和大多数记录都有自己的缓存。有没有人预见到这种设计在一个非常大的数据库中会出现任何问题

问候,,
Darren

您拥有数百万数据,这有点让人担心应用程序每秒的点击率是否很高。在这种情况下,更多的点击意味着磁盘IO增加。磁盘IO中的任何瓶颈都会影响应用程序的总体性能

根据我个人的经验,最好的方法是决定哪些数据应该缓存,哪些不应该缓存,应该使用哪些缓存层和体系结构,等等。例如,您可能不希望缓存任何非常动态的数据。例如,用户购物车、余额、视图计数等。由于这些数据总是在变化,缓存它们通常会导致(接近)资源消耗翻倍,而不是在实际场景中增加实际吞吐量。如果很少提取一组数据,则可能根本不需要缓存

另一方面,如果数据的某些部分具有很高的命中率,例如主页元素、热门文章、畅销产品等,则应使用快速高可用性缓存机制(如对象存储)缓存这些数据。通过这种方式,可以在同时点击数千次这些数据的情况下满足高需求,而不会影响磁盘IO或数据库性能


简单地说,应用程序数据的不同部分可能需要也可能不需要不同的缓存方法。

如何存储缓存?我是说,对于每个用户?或者整张桌子,然后根据要求添加条件?再见,先生。很抱歉迟到了。所以基本上你是说那些非常动态(经常变化)的信息不应该被缓存,而应该从数据库中访问,那些不经常变化的信息应该被缓存?