为了账号安全,请及时绑定邮箱和手机立即绑定

Linux 服务器,数据缓存用文件好,还是用memcached redis 等 好

Linux 服务器,数据缓存用文件好,还是用memcached redis 等 好

PHP
慕姐8265434 2019-03-11 07:03:19
问题描述 目前在数据层做缓存,大多是用memcached 或者redis 做数据缓存。但是 最近发现,如果直接用文件做缓存,第一次读取比mem慢,但是第二次比mem 快好多。 百度了一下,原因是: Cache Memory(缓存内存):当读写文件的时候,Linux内核为了提高读写性能与速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存会很少。 然后看磁盘io,确实是第一次之后,获取数据基本上都是命中了内存的。而且数据量越大,mem越慢,文件读取速度几乎不受影响。 疑问 那么,在数据条数不多,(常用的在100条左右,文件大小在100k左右),是用mem呢,还是直接用文件缓存呢? ps: 在本机上测试,获取一条数据 1w次,文件的速度比 mem 快 5倍多。
查看完整描述

4 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

何不试下redis呢

查看完整回答
反对 回复 2019-03-18
?
Qyouu

TA贡献1786条经验 获得超11个赞

文件做缓存需要考虑磁盘 I/O

查看完整回答
反对 回复 2019-03-18
?
UYOU

TA贡献1878条经验 获得超4个赞

建议使用nodb,文件缓存不利于做主从,我建议使用redis

查看完整回答
反对 回复 2019-03-18
  • 4 回答
  • 0 关注
  • 619 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信