0

나는 앞에 다음 코드를 사용했습니다 :NDB 데이터 저장소에 새로 추가 된 레코드를 추적하는 방법은 무엇입니까?

def add_movie(movie_id, title, picture, description): 
    movie = Movies(
     id=movie_id, 
     title=title, 
     picture=picture, 
     description=description 
     ) 
    movie.put() 

하지만 영화가 새로운 기록이나 영화를 기존의 갱신 인 경우 추가 된 경우 알려 허용하지 않았다. 그래서 코드를 다음과 같이 변경했습니다 :

def add_movie(movie_id, title, picture, description): 
    newly_added = True 
    movie = Movies.get_by_id(movie_id) 
    if movie: 
     newly_added = False 
    movie.id = movie_id 
    movie.title = title 
    movie.picture = picture 
    movie.description = description 
    movie.put() 
    return newly_added 

그러나 처음에는 영화가 나오고 그 다음에 만 업데이트됩니다. 그래서 1 대신 데이터 저장소에 2 요청.

동일한 다른 작업 방법이 있습니까? 아니면 잘못된 것이고 성능 측면에서 두 가지 접근 방식이 동일합니까?

답변

3

아니요, 주위에는 다른 방법이 없습니다.

이것은 추가 get 요청으로 인해 성능에 영향을 미치지 만 'get'은 매우 빠릅니다. and cheap이므로 걱정하지 마십시오.

2

@Peter는 get 작업이 매우 저렴하고 걱정할 필요가 없지만 여전히 memcache에 영화 ID를 저장할 수 있으며 1 차로 확인 할 수 있습니다. 데이터 스토어를 확인하지 않으면 새로운 것이 아닙니다.

관련 문제