php - Laravel 7:MariaDB 与 Redis 结合,但 Redis 在处理大对象时表现较慢
问题描述
我已经成功实现了redis和mysql的组合。在我的应用程序的一个部分,我认为我会减少 mysql 服务器上的负载并使用 redis,直到数据被更改,但是我观察到从 Mysql 获取相同数据时它仍然比 redis 更快。
这是场景。
User1:10,000 条记录,一天左右很少发生一次更改。
我所做的是将获取这 10K 条记录的整个对象(大小约为 20mb 的序列化对象)保存到 redis。这个想法是,由于随后的 100 到 1000 个请求将只是页面刷新,所以为什么不避免 mysql 命中并从 redis 获取这些数据。
但是,我观察到,当从 Redis 获取此对象时,它比我刷新 redis 并命中 mysql 查询要花费更多时间。我认为 redis 会更快或至少具有类似 mysql 的速度,但这里不同。
此外,我观察到从 Redis 获取 20mb 对象时,我的 php 给出了“允许的内存已用尽”错误(我知道如何修复),但是当从 mysql 获取相同的数据时它不会给出任何错误。
难道 Redis 不适合缓存大对象?或者还有别的什么?
谢谢
解决方案
推荐阅读
- css - 在 css 中将多个 id 与单个类合并的最佳实践是什么?
- visual-studio-code - 扩展如何获取当前连接的远程服务器中文件的远程 URL?
- php - PHP - 验证空表单字段的问题
- php - 如何在回声下使用这个 if 条件?
- mpi - MPI_OP_Create 函数
- php - 为什么我的测验不与 mysql 数据库交互?
- powershell - Powershell 脚本,它将使用正则表达式搜索文件夹并删除早于 XX 的文件
- babylonjs - 在 babylon.js 中为 3d 模型添加按钮
- sql-server - Liquibase generateChangeLog 抛出异常:SQLServerException: Cannot resolve the collation conflict between ... in the INTERSECT operation
- python - 如何在由任意函数创建的 seaborn 散点图中添加一条线