Mam listę użytkowników, którzy mogą zobaczyć tylko administratorzy (= niewiele czyta). Ta lista wyświetla również liczbę użytkowników w magazynie danych. Ponieważ lista może wzrosnąć o więcej niż 1000, moją pierwszą myślą było uniknięcie normalnego liczenia(), a zamiast tego użycie zignorowanego licznika.Jak zbudować elastyczny licznik z ponad 1000 wierszy, ale niewielu czyta w Google App Engine?
Problem polega jednak na tym, że administratorzy mają również dostęp do różnych filtrów wyszukiwania (w GUI), takich jak tylko przeglądanie użytkowników płci męskiej/żeńskiej i tak dalej. Ważne jest, aby liczba odzwierciedlała te filtry, aby mogły one uzyskać liczbę kobiet, użytkowników płci męskiej i mnóstwo innych kombinacji.
Z tego powodu, sharded counters i high concurrency counters bez shardingu nie wydają się dobrym pomysłem, ponieważ musiałbym utworzyć licznik dla każdej kombinacji filtrów wyszukiwania.
Czy powinienem po prostu utworzyć pętlę zliczania() metod, takich jak opisane here lub jest to bardzo złe praktyki? Jak mógłbym to zrobić inaczej?
Należy zauważyć, że ten licznik jest przeznaczony dla interfejsu administratora i ma bardzo ograniczoną liczbę odczytów. To jest naprawdę przypadek, w którym chciałbym poświęcić trochę wydajności odczytu dla elastyczności i dokładności. Chociaż powinno być w stanie przekroczyć 1000, nie powinno wzrosnąć więcej niż 10 000.
Dzięki za odpowiedź! Tak, jestem pod wrażeniem tego podejścia, biorąc pod uwagę, że będę miał bardzo mało czytań i nie jestem nawet pewien, czy lista przekroczy 1000. Kiedy mówisz o kursorach, masz na myśli, że powinienem użyć kursorów, aby zdecydować o następnej pozycji zliczania()? – Aneon