- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
supesite完美实现调用资讯显示缩略图
supesite完美实现调用资讯显示缩略图
本调用代码用于放置在首页中,列表模块带缓存,每个分页的缓存时间相差20秒,避免同一时间所有缓存全部失效,某一时刻非常缓慢的问题。列表数量统计的模块也带缓存。
取所有频道的资讯文章,有缩略图显示缩略图,无缩略图显示无缩略图的文件。
对比嵌套循环查询,极大减少数据库查询次数(嵌套查询可能达到11次数据库查询),本方法只需查询一次数据库。
列表模块对应的SQL语句为
SELECT i.itemid,i.catid,i.uid,i.username,i.subject,i.dateline,i.viewnum,i.replynum,i.digest,i.top,i.picid,,n.message,a.thumbpath,a.subject AS a_subject FROM supe_spaceitems i
INNER JOIN supe_spacenews nON i.itemid=n.itemid INNER JOIN supe_categories cON i.catid=c.catid LEFT JOIN supe_attachments aON i.picid=a.aid WHERE i.type=news
ORDER BY i.top DESC,i.itemid DESC
两个INNER JOIN内联一个LEFT JOIN左连接做四表联查,全部为主键或者索引查询,相对效率高。
由于用了联查,block模块中的perpage分页代码无效,只能自己调用multi函数处理分页内容。分页数量统计对应的SQL语句为
SELECT count(itemid)AS total FROM`supe_spaceitems`WHERE type=news
cachename缓存以mynews_pagexx命名的变量,解决缓存覆盖问题。
SupeSite 7.5,256M内存VPS服务器在每秒1000次并发压力下,关闭缓存平均页面执行时间为0.08秒,开启缓存平均0.006秒执行时间。
完整调用代码如下:
!--Article begin--
div class=article
!--{eval$basecachetime=3500;/*设置本页面基础缓存时间*/}--
!--{eval$baseperpage=10;/*设置本页面的单页文章数量*/}--
!--{eval$mypage=$_SGET[page]?$_SGET[page]:1;}--
!--{eval$mystart=($my1)*$baseperpage}--
!--{eval$mycachename=mynews_page.$mypage}--
!--{eval$mycachetime=$basecachetime+$mystart*2}--
!--{block name=spacenewsparameter=type/news/sql/SELECT%20i.itemid%2C%20i.catid%2C%20i.uid%2C%20i.username%2C%20i.subject%2C%20i.dateline%2C%20i.viewnum%2C%20i.replynum%2C%20i.digest%2C%20i.top%2C%20i.picid%2C%20%2C%20n.message%2C%20a.thumbpath%2C%20a.subject%20AS%20a_subject%0D%0AFROM%20supe_spaceitems%20i%0D%0AINNER%20JOIN%20supe_spacenews%20n%20ON%20i.itemid%20%3D%20n.itemid%0D%0AINNER%20JOIN%20supe_categories%20c%20ON%20i.catid%20%3D%20c.catid%0D%0ALEFT%20JOIN%20supe_attachments%20a%20ON%20i.picid%20%3D%20a.aid%0D%0AORDER%20BY%20i.top%20DESC%2C%20i.itemid%20DESC/limit/$mystart,$baseperpage/cachename/$mycachename/cachetime/$mycachetime/tpl/data}--!--Thiese Block had cached in dollar_SBLOCK[$mycachename]--
!--{loop$_SBLOCK[$mycachename]$value}--
!--{eval$value[message]=trim(strip_tags($value[mes
文档评论(0)