首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缓存SHOUTcast API结果

缓存SHOUTcast API结果
EN

Stack Overflow用户
提问于 2015-12-17 11:11:22
回答 1查看 428关注 0票数 3

我刚成为SHOUTcast的合伙人,收到了我的DevID。

我在这里几乎读到了所有的东西:API接口

在这里:协议

我有一个棘手的问题:我是否应该缓存他们的API调用的结果?

如果决定缓存,我将违背SHOUTcast无线电目录API中所要求的内容:

不要缓存XML超过一天,因为站ID的可以和将改变。

如果我没有缓存任何东西,我将违反SHOUTcast API许可协议:

请不要敲服务器。我们请求合理的使用,并建议您使用本地缓存。

此外,让我们假设我决定缓存结果。由于这些结果是100%基于用户的查询,缓存这些结果是不是有点愚蠢,因为我的应用程序的用户可能每次?都会输入不同的查询。

为了解决我的问题,我想下载整个SHOUTcast数据库,每周一次,然后上传到我自己的服务器上。之后,我的应用程序会将所有的查询发送到我的服务器,而不会打扰SHOUTcast的服务器。

然而,这种方法的问题在于,我无法同时下载整个SHOUTcast数据库,就像我们可以使用IceCast的Di.xiph.org/yp.xml那样。

接下来我该怎么办?我该怎么做?

我害怕伤害SHOUTcast API许可协议,并使我的DevId被撤销:

我们保留对滥用系统的DevID的访问权。

这里有没有人创建过连接到SHOUTcast目录的应用程序?如果是的话,你过去没有被禁止使用哪一种方法?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-29 16:43:46

为了完整起见,我将用我想出的解决方案来回答我自己的问题。

经过大量的研究,我决定创建一个30分钟的缓存,从中检索最后的结果。如果用户更改搜索筛选器,或者缓存过期,所有缓存结果都将被清除,将向SHOUTcast的服务器发出新的请求,并创建新的缓存。

代码可以在这里找到:

ShoutcastRadioStationList.java

RadioStationCache.java

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34333143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档