首页 后端开发 php教程 WEB应用中,大量静态数据应当储存在数据库,还是直接储存在PHP业务层

WEB应用中,大量静态数据应当储存在数据库,还是直接储存在PHP业务层

Jun 13, 2016 pm 12:24 PM
mysql nbsp php redis web

WEB应用中,大量静态数据应该储存在数据库,还是直接储存在PHP业务层?
意思是,一个存在大量静态数据的WEB应用,比如一个MYSQL-PHP-JS架构的WEB游戏,它存在大量相对静态的数据,比如每升一级需要多少经验,比如每个城市、每个道具的各项参数等等。这些数据通常仅在版本更新时可能发生一定变化。

如果储存在数据库(只读的表),那么每一个业务都需要查询一张或多张这样的静态数据表。
如果直接以关联数组的形式储存在PHP业务层(当然是从EXCEL策划表架构自动产生的PHP代码),那么对庞大的关联数组进行定义、操作似乎也会影响服务器PHP文件执行效率。

相比之下,上述两种选择哪种效率更高?相当于说把压力放在MYSQL层上还是PHP层上,哪个更轻松。

如果觉得我还没表述清楚请回帖说明,我会补充说明的。
------解决思路----------------------
比如每升一级需要多少经验,比如每个城市、每个道具的各项参数等等
如果升级是由 php 代码完成的,那么存成什么都无所谓
如果升级是由 SQL 指令码完成的,那么当然要存成表,以便后台实现

------解决思路----------------------
个人觉得你这个有点像是系统配置的信息一样。量多的话建议放在数据库中吧,放到缓存中方便读取
------解决思路----------------------
 为什么非要二选一呢,结合使用不行吗
数据源就放在mysql里,维护也是直接更新库里的数据
然后写一个程序,将每一组静态数据缓存成一个php脚本文件,例如:升级经验.data.php:1, 2=> 2)...
需要用到数据时,$升级经验 = include '升级经验.data.php';
分成多文件保存,用哪个读哪个,避免大量声明
数据更新时,改好mysql里的数据,将缓存文件删掉重新运行程序生成即可

------解决思路----------------------
个人感觉可以存数据库和redis里,

一般获取从redis来,如果redis没有值就去mysql获取

mysql的值通过php设置

只要维护好mysql和redis的同步(比如mysql重启就更新redis,mysql更新也更新redis)

这样又好维护,也能直接放内存中,维护和访问速度都没问题

同二楼,不推荐放php代码中,这是最不好的办法。。。如果你真的要,那就在一个公共文件中define...

楼主自己取舍

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1666
14
CakePHP 教程
1425
52
Laravel 教程
1327
25
PHP教程
1273
29
C# 教程
1252
24
MySQL:数据库,PHPMYADMIN:管理接口 MySQL:数据库,PHPMYADMIN:管理接口 Apr 29, 2025 am 12:44 AM

MySQL和phpMyAdmin可以通过以下步骤进行有效管理:1.创建和删除数据库:在phpMyAdmin中点击几下即可完成。2.管理表:可以创建表、修改结构、添加索引。3.数据操作:支持插入、更新、删除数据和执行SQL查询。4.导入导出数据:支持SQL、CSV、XML等格式。5.优化和监控:使用OPTIMIZETABLE命令优化表,并利用查询分析器和监控工具解决性能问题。

作曲家:通过AI的帮助开发PHP 作曲家:通过AI的帮助开发PHP Apr 29, 2025 am 12:27 AM

AI可以帮助优化Composer的使用,具体方法包括:1.依赖管理优化:AI分析依赖关系,建议最佳版本组合,减少冲突。2.自动化代码生成:AI生成符合最佳实践的composer.json文件。3.代码质量提升:AI检测潜在问题,提供优化建议,提高代码质量。这些方法通过机器学习和自然语言处理技术实现,帮助开发者提高效率和代码质量。

给MySQL表添加和删除字段的操作步骤 给MySQL表添加和删除字段的操作步骤 Apr 29, 2025 pm 04:15 PM

在MySQL中,添加字段使用ALTERTABLEtable_nameADDCOLUMNnew_columnVARCHAR(255)AFTERexisting_column,删除字段使用ALTERTABLEtable_nameDROPCOLUMNcolumn_to_drop。添加字段时,需指定位置以优化查询性能和数据结构;删除字段前需确认操作不可逆;使用在线DDL、备份数据、测试环境和低负载时间段修改表结构是性能优化和最佳实践。

session_start()函数的意义是什么? session_start()函数的意义是什么? May 03, 2025 am 12:18 AM

session_start()iscucialinphpformanagingusersessions.1)ItInitiateSanewsessionifnoneexists,2)resumesanexistingsessions,and3)setsasesessionCookieforContinuityActinuityAccontinuityAcconActInityAcconActInityAcconAccRequests,EnablingApplicationsApplicationsLikeUseAppericationLikeUseAthenticationalticationaltication and PersersonalizedContentent。

怎样卸载MySQL并清理残留文件 怎样卸载MySQL并清理残留文件 Apr 29, 2025 pm 04:03 PM

要安全、彻底地卸载MySQL并清理所有残留文件,需遵循以下步骤:1.停止MySQL服务;2.卸载MySQL软件包;3.清理配置文件和数据目录;4.验证卸载是否彻底。

MySQL批量插入数据的高效方法 MySQL批量插入数据的高效方法 Apr 29, 2025 pm 04:18 PM

MySQL批量插入数据的高效方法包括:1.使用INSERTINTO...VALUES语法,2.利用LOADDATAINFILE命令,3.使用事务处理,4.调整批量大小,5.禁用索引,6.使用INSERTIGNORE或INSERT...ONDUPLICATEKEYUPDATE,这些方法能显着提升数据库操作效率。

如何使用MySQL的函数进行数据处理和计算 如何使用MySQL的函数进行数据处理和计算 Apr 29, 2025 pm 04:21 PM

MySQL函数可用于数据处理和计算。1.基本用法包括字符串处理、日期计算和数学运算。2.高级用法涉及结合多个函数实现复杂操作。3.性能优化需避免在WHERE子句中使用函数,并使用GROUPBY和临时表。

Laravel 最佳扩展包推荐:2024 年必备工具 Laravel 最佳扩展包推荐:2024 年必备工具 Apr 30, 2025 pm 02:18 PM

2024年必备的Laravel扩展包包括:1.LaravelDebugbar,用于监控和调试代码;2.LaravelTelescope,提供详细的应用监控;3.LaravelHorizon,管理Redis队列任务。这些扩展包能提升开发效率和应用性能。

See all articles