如何优化获取随机图片的场景?

Dmi*_*lev 3 javascript php jquery

我有大约100页,每页都有10-100张图片.图像的路径保存在数据库中.

然后,我在每个页面都有一个区域,用户可以从上面提到的图片列表中看到随机图片.此图像每3秒更改一次.

为了实现这种情况,我使用了一个javascript函数,它每3秒调用一次.

function GenerateNewImg() {
    $.ajax({
        url: "myurl.php",
        type : "get",
        dataType: 'json',
        async:true,
        success: function(data){
            $("#imgtochange").attr("src", data.res);
        }
    });

    t = setTimeout('GenerateNewImg()',3000);
}
Run Code Online (Sandbox Code Playgroud)

在myurl.php中,我随机选择一个页面,然后选择一个图像.

我认为,这不是一个很好的解决方案,因为它会消耗服务器上的处理器时间.

有没有更好的方法来获得我需要的行为?

Dio*_*ane 10

将您的文件列表表示为JSON,将其加载到自己的脚本块中,以便可以在浏览器上缓存它.然后从数据集中的随机位置读取数据.这样您就不必继续回到服务器了.

  • 如果您在客户端上缓存,则会从AJAX请求中获得"304未修改",因此浏览器会返回SAME文件而不是再次下载. (2认同)