PHP站群

算法架构

分享站群架构功能算法,实现的原理
PHP站群 >  算法架构

算法架构

如何实现海量关键词随机抽取一个

2024-12-07 20:22:17算法架构
摘要:假设某一个品类的关键词2万个,如果实现高效抽取呢

如何实现海量关键词随机抽取一个

核心思路是:设计一个关键词表,后台导入上传存储,然后通过一定的发布机制发布到redis,前端页面srandmember随机抽一个。

    有的同学会问 为啥不直接扔到一个文件夹,然后随机文件名,再随机行数获取一个呢,这样效率不是也很高啊?

    为啥?你随机出来怎么锁定啊,后续与url的锁定,以及各种关联锁定要都有识别id的,所以还是要入mysql库,然后再存入kv数据库。

那么如何设计这个程序呢?

原理听上去很简单,实际上实现起来呢还是有几个核心点。

1、上传。导入txt先上传到服务器,然后对数据分割,有的时候关键词有10万的话,处理就需要下功夫了,新建一个队列系统分段式处理入库。

2、发布到内存这个技术。核心思路是先分页计算一共多少次,然后增加定时检测记录当前分页数,逐步递增发布,一页一页的压入,操作的同时要在前端做好变量统计以便实时观察进度。

3、前端随机抽取函数。

/*随机获取1个关键词id */
function get_kid_sj(){
global $pika;
global $site_type;

$sname='stype_ids_'.$site_type;
$arr_sj=$pika->srandmember($sname,1);

$kid='';
if(isset($arr_sj[0]))
$kid=$arr_sj[0];

return $kid;
}



发表评论

在线
客服

在线QQ服务时间:9:00-24:00

选择下列QQ在线沟通:

顶部