PHP操作文本和操作mysql的效率问题

发布于 2022-08-24 01:41:33 字数 120 浏览 22 评论 0

我想做一个系统
文章这样的需要进行排序操作的内容使用mysql
但是针对分类表这样的数据层,我想存储到文本,这样就可以跳过缓存,有效减少数据库查询次数

我对这个想法有点犹豫,请高手们指教!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

如何视而不见 2022-08-31 01:41:33

没太明白你 调过缓存 的意思。
缓存就是用来把数据放到内存里,以减少持久化存储的IO,为什么要跳过呢?
对于这种数据,我的建议是:

  • 放在MySQL里,编辑查询方便
  • 放一层缓存,减少DB IO
命硬 2022-08-31 01:41:33

1. mysql本身有query cache,可以认为接近内存性能,另外,如果一小段配置类型的数据,可以设置为constant表来提高读取性能。
2. 对于文件,linux系统同样有内存缓存,多次读取性能接近内存速度。win貌似最新的系统同样有做内存里的文件缓存。

各自的开销:
1. mysql query cache的开销是tcp连接和sql的重新解析
2. linux系统的缓存是基本上读文件的fd开销
不论哪种缓存方式,都少不了的开销是数据反序列化。

单机情况:
必然是内存缓存最快。如果不打算用内存,优选用mysql constant表。虽然利用系统缓存会更快,但对文件操作涉及到读写锁、备份等等问题,自己手写的话会比较麻烦——当然可以作为练习性质去尝试保证文件数据的完整性,或者如果db负载较高,也可以考虑放文件里。

多机情况:
基本只有mysql可选了……当然你仍然可以在一台机器上存放文件,然后写一个服务提供给其他服务器使用。

心如狂蝶 2022-08-31 01:41:33

都放在mysql里即可。文本存储也是要对磁盘做读写操作的,常用的东西可以用memcache做缓存,直接读取内存肯定要比读磁盘来的快。

再可℃爱ぅ一点好了 2022-08-31 01:41:33

你存文本的话读的就是磁盘了.读缓存是读内存.肯定读内存快呐.

一场信仰旅途 2022-08-31 01:41:33

还是看数据量了, 如果只有几M,那个方便按哪个来;
再大点, 后面用mysql存数据, 前面再挂一层cache,也能解决大部分应用场景了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文