Buduję stronę internetową, która ma listę życzeń. Chcę przechowywać listy życzeń w pamięci podręcznej, ale chcę, aby użytkownik mógł sortować listę życzeń podczas przeglądania na wiele różnych sposobów - dodania daty, daty dodania odwróconej, nazwy pozycji itp. Chcę również zaimplementować stronicowanie, które, jak sądzę, mogę wprowadzić za pomocą tokena kontynuacji.Przechowywanie tabeli Azure: Zamówienie przez
Jak rozumiem, "zamówienie według" nie zostało zaimplementowane, a kolejność, w jakiej wyniki są zwracane z pamięci tabeli, zależy od klucza partycji i klucza wiersza. Dlatego jeśli chcę zaimplementować stronicowanie i sortowanie, które opisuję, jest to najlepszy sposób na wdrożenie tego poprzez wielokrotne przechowywanie listy życzeń za pomocą innego klucza/klucza partycji?
W tym prostym przypadku jest prawdopodobne, że lista życzeń nie będzie tak duża, a ja w rzeczywistości mogę ograniczyć maksymalną liczbę pozycji, które mogą pojawić się na liście, a następnie pozbyć się stronicowania i posortować je w pamięci. Jednak mam bardziej złożone przypadki, które muszę również wdrożyć do stronicowania i sortowania.
Jestem skłonny do zrobienia tego w pamięci i martwienie się o to później, jeśli stanie się wąskim gardłem. – s1mm0t
... Twoja druga sugestia jest jednak interesująca. Czy kiedykolwiek zrobiłeś coś takiego? Przesyłanie danych między różnymi pamięciami samo w sobie wydaje się czymś, co byłoby powolne. – s1mm0t
Nie zrobiłem tego ostatnio. Biorąc pod uwagę, że prawdopodobnie działa to w rozłączonym świecie i mając na uwadze skalowalność w wielu instancjach, ładowanie zestawu wyników z pamięci tabeli do pamięci lokalnej dla każdego żądania może być nieefektywne. Zamiast tego umieszczanie w SQL Azure umożliwi dostęp do danych z wielu instancji po pojedynczym obciążeniu. Z drugiej strony, jeśli implementacja jest oparta na pojedynczej instancji z ograniczonym zestawem danych, ładowanie w pamięci może wystarczyć. Najpierw wypróbuję opcję pamięci, a następnie przejdę do opcji SQL, jeśli nie spełnia ona oczekiwań. – hocho