有采集大佬吗?请问一个数据库入库的问题

搬瓦工机场JMS

采集的数据要写入cms的数据库,
遇到有外键的情况怎么处理好呢?

比如采集文章入库,文章分类所在的字段是文章分类的id。

这样就需要先执行一次数据库查询,查询到这个文章分类的id,再写入到文章所在的数据表。

入一条记录要查询一次,感觉这方法很笨啊,

大佬们有什么好的方法吗?

谢谢。。
香港网友:数据库查询反而是秒速,不用担心这个,别的操作都是龟速~
贵州网友:可以考虑把分类组成一个数组  直接取就行了   。。。每次更新分类后需要重新更新这个数组
湖南网友:不懂为什么要先查询一次文章分类
广东网友:
因为他采集获取的是分类文本而不是分类id。

单独采集,不需要考虑数据库问题。其实你的应用应该也达不到需要考虑数据库的地步。
查询一次分类id其实也花不了啥时间(因为分类总体很小,如果你建了索引速度会更快),如果你真觉得不舒服,可以先加载所有文章分类到内存中(本质就是缓存),建立反向索引,每次直接查内存即可。
江西网友:楼上   学到了
福建网友:请问一下火车头之类的采集软件,

他们写入wordpress, dedecms之类的程序时,也是使用的这样的插入数据库的形式么?

谢谢。
湖北网友:网站的分类往往是个固定的ID,所以可以写在采集规则里。
如果用火车头的话,采集到的分类名是中文,可以使用文本替换的方式将分类名替换成网站里固定的分类ID
西藏网友:干掉外键

数据库不要用外键
江西网友:不了解,抱歉帮助不了你。
安徽网友:不了解,抱歉帮助不了你。
青海网友:分类是有限的,为啥不放在内存里,只有分类有更新的时候,写到数据库里啊
天津网友:说反了

小站可以用外键

并发上去后干掉外键势在必行.
外键用代码逻辑保持就可以了,不要在数据库层面.
江苏网友:分类还好,量不是很大,也不会频繁增加,可以在上传之前把全部的分类名称对应的ID都弄到本地,上传的时候替换或者直接按照分类上传就行了。

我现在主要遇到的问题是标签,一个文章有几个十几个不等的标签,目前总量有3W多个标签。现在在批量发布,首先是按照上面的方法先批量创建分类和标签,然后记录ID到本地方便上传的时候读取替换。

以后定期更新文章的话也只能先把新的标签和本地现有的对比,找出未创建的标签,然后再去把这些标签创建并保存id。这样再调用发布。

说的有点乱,大概就是批量创建,记录到本地,上传的时候直接调用ID。毕竟是新手,不懂啥api只能先这样凑合用了。如果有其他更好的方法还希望分享下。

未经允许不得转载:美国VPS_搬瓦工CN2 GIA VPS » 有采集大佬吗?请问一个数据库入库的问题

赞 (0) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏