2014-02-21 8 views
0

У меня есть модель для пользователей, чтобы хранить их закладки. Каков наилучший способ получить общее количество закладок, следует ли мне создать поле для хранения общего количества или суммировать его, когда пользователь извлекает данные?Google App Engine NDB keyproperty счетчик

class UserBookMarks(Model): 
    class Meta: 
     behaviors = (searchable.Searchable,) 
     search_exclude=('created') 

    user= ndb.KeyProperty(kind=User, repeated=False) 
    items = ndb.KeyProperty(kind=ItemList, repeated=True) 
    created = ndb.DateTimeProperty(auto_now_add=True) 

ответ

2

Подсчет или агрегатирование в хранилище данных неэффективно. Поэтому создайте поле для хранения всего. Если счетчик необходимо обновить более чем несколько раз в секунду (маловероятно с пользовательскими закладками), вам нужно будет прибегнуть к заштрихованным счетчикам.

+0

Ссылка на документ на подсвеченных счетчиках: https://developers.google.com/appengine/articles/sharding_counters –

Смежные вопросы