var Urls = make(map[string]struct{}) //самая компактная реализация множества.
func IsNew(url string) bool{
if _, ok:=Urls(path.Base(url)); ok{ //зачем вам весь url. Берите только базу, это компактней и исключит рерайты
return false
}else{
/*тривиальная реализация кэша
if PresentInDb(url){ //посмотреть в базе
if len(Urls)>Limit{ //подчистить кэш
for k,v:=range Urls{
delete(Urls, k)
break
}
}
Urls(path.Base(url))=struct{}{} //подновить кэш
return false
}else{
можно раскомментировать*/
Urls(path.Base(url))=struct{}{}
return true
}
}
Как правильно реализовать проверку на новые?