php抓取网页数据插入数据库(PHP缓存机制类触发静态缓存的应用方法解析!!)

优采云 发布时间: 2022-04-14 09:26

  php抓取网页数据插入数据库(PHP缓存机制类触发静态缓存的应用方法解析!!)

  1、通用缓存技术:

  数据缓存:这里所说的数据缓存是指数据库查询PHP缓存技术机制。每次访问一个页面,都会先检测对应的缓存数据是否存在。如果不存在,则连接数据库,获取数据,放入查询结果。序列化后保存到文件中,以后直接从缓存表或文件中获取相同的查询结果。

  使用最广泛的例子是看Discuz的搜索功能,将结果ID缓存在一个表中,下次搜索相同关键字时先搜索缓存表。

  给出一个通用的方法,当关联多个表时,生成附表中的内容并存储在主表的一个字段中,并在需要时分解数组。这样做的好处是只读取一张表,但缺点是有两个数据同步的步骤会比较多,数据库永远是瓶颈。这样做的关键是使用硬盘来提高速度。

  2、 页面缓存:

  每次访问一个页面,都会先检测对应的缓存页面文件是否存在。如果不存在,则连接数据库,获取数据,显示页面,同时生成缓存的页面文件,以便页面文件在下次访问时发挥作用。. (模板引擎和网上一些常见的PHP缓存机制类一般都有这个功能)

  3、 时间触发缓存:

  检查文件是否存在,时间戳是否小于设置的过期时间。如果文件修改时间戳大于当前时间戳减去过期时间戳,则使用缓存,否则更新缓存。

  4、 内容触发缓存:

  在插入数据或更新数据时强制更新 PHP 缓存机制。

  5、 静态缓存:

  这里所说的静态缓存是指页面的静态化,直接生成HTML或XML等文本文件,有更新时重新生成一次,适用于变化不大的页面。

  以上内容为代码级方案,以下内容为服务端缓存方案,非代码级方案只能通过多方合作实现

  6、 内存缓存:

  Memcached 是一种高性能、分布式内存对象 PHP 缓存机制系统,用于减少数据库负载并提高动态应用程序的访问速度。

  7、 php 缓冲区:

  有eaccelerator,apc,phpa,xcache,这个就不说了,搜一堆,自己看看,如果知道有这种东西就OK了

  8、 MYSQL 缓存:

  这也算是非代码级别的,经典数据库就是这样用的,看下面的运行时间,0.09xxx等

  9、 基于反向代理的网络缓存:

  如Nginx、SQUID、mod_proxy(apache2及以上分为mod_proxy和mod_cache)

  10、 DNS 轮询:

  BIND 是一个开源的 DNS 服务器软件。这是一个大问题。自己搜一下,大家都知道有这个东西。

  我知道一些大型网站,如 chinacache 会这样做。简单来说,就是多台服务器。同一个页面或文件缓存在不同的服务器上,根据南北自动解析到相关服务器。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线