有没 "重复内容检测" 的云服务?

2014-05-10 14:01:48 +08:00
 andybest
目标数据是一堆MD5值(或者其他的字串)

想实现:
DuplicateChecker checker=new DuplicateChecker("my");

//首次调用
checker.isDuplicated("8743b52063cd84097a65d1633f5c74f5");
返回false

//再次调用
checker.isDuplicated("8743b52063cd84097a65d1633f5c74f5");
返回true

数据需要持久化,不想自己做这个程序,有没类似的云服务?
1953 次点击
所在节点    问与答
6 条回复
Mutoo
2014-05-10 15:19:51 +08:00
SEA的kvdb,写一下,不到10行而已。
andybest
2014-05-10 15:34:37 +08:00
@Mutoo 多谢,我看了下 http://apidoc.sinaapp.com/sae/SaeKV.html

这个 KVDB 似乎只能使用默认的一个 DB
而我实际的需求是需要:
DuplicateChecker checker=new DuplicateChecker("张三");
DuplicateChecker checker=new DuplicateChecker("李四");
...
这样有不用的重复检测,sae的kvdb有针对此的解决方案吗?除了把所有key都加上前缀。。。(例如:张三_8743b52063cd84097a65d1633f5c74f5)
Mutoo
2014-05-10 16:38:33 +08:00
$kv = new SaeKV();
$kv->init();

class DuplicateChecker {
private $prefix;
public function __construct($prefix) {
$this->prefix = $prefix;
}

public function isDuplicated(key) {
$ret = $kv->get($prefix.'_'.$key);
if(!$ret)
$kv->set($prefix.'_'.$key, true);
return $ret;
}
}

$checker = new DuplicateChecker("张三");
$checker->isDuplicated("cake"); //false
$checker->isDuplicated("cake"); //true
andybest
2014-05-10 16:59:54 +08:00
@Mutoo 感谢,,这个方案挺好!
alsotang
2014-05-10 17:49:03 +08:00
@Mutoo 竟然这样就解决了。。。。
WildCat
2014-05-11 13:09:08 +08:00
同理,还有BAE的Redis

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/111896

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX