andybest
V2EX  ›  问与答

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

  •  
  •   andybest · May 10, 2014 · 2505 views
    This topic created in 4417 days ago, the information mentioned may be changed or developed.
    目标数据是一堆MD5值(或者其他的字串)

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

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

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

    数据需要持久化,不想自己做这个程序,有没类似的云服务?
    6 replies    2014-05-11 13:09:08 +08:00
    Mutoo
        1
    Mutoo  
       May 10, 2014   ❤️ 1
    SEA的kvdb,写一下,不到10行而已。
    andybest
        2
    andybest  
    OP
       May 10, 2014
    @Mutoo 多谢,我看了下 http://apidoc.sinaapp.com/sae/SaeKV.html

    这个 KVDB 似乎只能使用默认的一个 DB
    而我实际的需求是需要:
    DuplicateChecker checker=new DuplicateChecker("张三");
    DuplicateChecker checker=new DuplicateChecker("李四");
    ...
    这样有不用的重复检测,sae的kvdb有针对此的解决方案吗?除了把所有key都加上前缀。。。(例如:张三_8743b52063cd84097a65d1633f5c74f5)
    Mutoo
        3
    Mutoo  
       May 10, 2014   ❤️ 1
    $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
        4
    andybest  
    OP
       May 10, 2014
    @Mutoo 感谢,,这个方案挺好!
    alsotang
        5
    alsotang  
       May 10, 2014
    @Mutoo 竟然这样就解决了。。。。
    WildCat
        6
    WildCat  
       May 11, 2014 via iPhone
    同理,还有BAE的Redis
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2830 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 48ms · UTC 15:18 · PVG 23:18 · LAX 08:18 · JFK 11:18
    ♥ Do have faith in what you're doing.