威视视频管理系统的缓存体系

来自站长百科
跳转至: 导航、​ 搜索

导航: 上一页 | 首页 | 帝国CMS | Drupal | PHPCMS | PHP168 | PHP | Joomla | TWiki | SupeSite | ECShop | DedeCMS |WordPress

威视的缓存机制旨在提高系统性能、降低系统消耗、提升系统负载,在保证数据具有一定实时性的同时,加速系统的运行.

威视有五种缓存:全局缓存、模板缓存、RSS与搜索缓存、数据缓存、页面缓存,这五种缓存的功用各不相同,下面就逐一进行介绍.

全局缓存[ ]

全局缓存会缓存威视中的配置信息、频道信息等访问频率比较高,但更新并不频繁的数据.

全局缓存由威视系统自身进行控制,威视会在相应的数据被改变时,自动更新缓存信息,无需用户进行干涉.

您可以在后台“缓存数据管理”──“更新缓存”,清除“全局缓存”,强制系统重新更新全局缓存.

模板缓存[ ]

威视模板机制会对模板中的标签及变量进行解析,这个解析需要一定的时间和系统消耗,为减少系统开销,威视会将模板解析后的结果缓存起来,下次载入模板中,直接载入解析后的模板,省去解析的时间和开销(这个概念类似于常规程序语言的“编译”机制)

在默认情况下,只有在模板被修改后,威视才会重新对模板进行解析

如果您需要强制威视重新解析模板,您可以在系统后台“缓存数据管理”──“更新缓存”,清除“模板缓存”

这样,在访问页面时,威视就会重新解析该页面的模板

RSS与搜索缓存[ ]

由于RSS并不要求很高的实时性,因此,对RSS的内容进行缓存有利于减少系统开销,也有利于RSS订阅者可以更快地访问到RSS的内容

RSS的缓存的时间可以在后台“站点设置”──“网站功能控制”──“RSS(TTL)更新时间”进行设置

搜索功能是很耗时、很耗资源的操作,因此对搜索结果进行缓存可以避免相同关键字的重复搜索,也可以防止个别使用者恶意搜索,从而拖垮系统

有关搜索功能,可以在后台“站点设置”──“程序功能优化”进行设置

您可以在后台“缓存数据管理”──“更新缓存”,清除“RSS与搜索缓存”

数据缓存[ ]

数据缓存是威视缓存体系的重中之重,应用面广,缓存数据量大,对加速威视的运行可以说功不可没

数据缓存是对模板中数据标签调用出来的数据进行缓存,有关数据标签的详细信息,可以参考poc_load_data数据调用标签

下面举例说明,数据是如何被缓存的

以下面的标签为例:

{poc_load_data action=video output=videos infonum=8 order=6 titlelen=40}该标签调用出8条视频数据,并将数据存放到$videos变量中

调用出来的数据会被放到缓存中,下次遇到同样的标签时(刷新页面或在其他模板中也用了相同的标签),就会直接读取缓存,不再查询数据库

数据缓存的时间可以在后台“站点设置”──“网站功能控制”──“数据缓存更新时间”进行设置

数据缓存虽然可以提高运行效率,但会降低信息的实时性,所以,请大家根据自己的实际情况设置好缓存时间

另外,您也可以在后台“缓存数据管理”──“更新缓存”,清除“数据缓存”,强制模板重新读取最新数据

页面缓存[ ]

顾名思义,页面缓存就是将整个页面的内容全部缓存下来,下次访问同样的页面时,就直接读取缓存,不用再进行逻辑处理,直接显示给用户,因此页面缓存十分高效,可以极大地提升页面的显示速度

页面缓存兼顾动态页面的逻辑处理(如:权限验证)及静态模式的访问速度,可以说是在动态浏览与静态浏览之间找到了一个绝妙的平衡。

但在使用页面缓存时,也有一些地方需要特别注意,页面缓存虽然会带来高效率,但也可能会带来一些副作用

页面缓存是根据固定的参数,区分缓存各个页面,从而实现正确的缓存效果

这里以频道查看页来进行说明:

频道查看页的地址为:index.php/channel/view/1,最后面的数字是频道ID,对于频道页面缓存,就是根据这个ID来分别缓存页面(即每个不同的ID对应一个缓存)

除此之外,其他的参数(除了分页参数)都不会用于区分生成缓存页面,因此,如果您在模板中使用了某些参数判断,在开启页面缓存后,很可能会失效

例如:index.php/channel/view/1?type=detail,模板中根据type这个参数来区分显示不同的内容,那么在开启页面缓存后,不管type参数如何设置,显示的内容都不会变化

这时,您应该在后台将该页面缓存设置为0(即不缓存该页面)

页面缓存的时间可以在后台“站点设置”──“页面缓存设置”,设置各个页面的缓存时间

页面缓存同样会降低信息的实时性,所以,请大家根据自己的实际情况设置好缓存时间

另外,您也可以在后台“缓存数据管理”──“更新缓存”,清除“页面缓存”,强制重新生成页面缓存