我正在为一个艺术项目开发一个基于网络的小(javascript)’应用程序’.这个东西叫做“诗歌生成器”,它是一个根据用户输入生成随机诗歌的剧本.
脚本必须每1/10秒向用户显示一个随机字.使用的词表,计数109.582个单词.
我已经尝试过不同的解决方案:
>将所有单词放在文本文件中,并获取文本文件的随机行 – >太慢(用户必须先下载3MB文本文件才能使用该应用程序)
>将所有单词放在Javascript中的数组中. – > javascript数组显然无法处理109.585项
>使用带有Javascript间隔函数的jQuery Ajax函数从数据库中提取单词 – >这个解决方案在我的localhost上测试时工作得很好,但是一旦上传到真实的web环境,这种方法就太慢了. (我可以想象,如果我每秒向他们的服务器执行10次查询,我的托管服务提供商就不会那么开心.)
那么..有没有人知道一种不同的方法,我可以用它来每隔1/10秒在网页上显示一个随机单词?它不一定要使用php或javascript,只要它在浏览中运行,我很高兴!
提前致谢
Teis
解决方法:
没有理由你必须每十分之一秒拉一整个数据集.每分钟从数据库中提取一个合理的数量(大约600个单词),将其加载到本地javascript对象中,然后迭代它.
当数组索引变得足够高或计时器达到一分钟时,轮询另一组600.
处理低至十分之一秒的时间时,您不希望每次都要调用服务器!您甚至可以将整个数据集加载到memcached中并轮询随机字,从而跳过昂贵的数据库调用,因为整个数据集都会加载到内存中.
标签:php,javascript,mysql,ajax,web-applications
来源: https://codeday.me/bug/20190716/1480916.html