Junior — Middle
Jakie dane lub obiekty można przechowywać w kontekście aplikacji lub sesji?
sobes.tech AI
Odpowiedź od AI
W kontekście aplikacji lub sesji w Go zazwyczaj przechowuje się dane potrzebne przez cały cykl życia żądania lub sesji użytkownika. Mogą to być:
- Informacje o użytkowniku (ID, role, ustawienia)
- Tokeny uwierzytelniania lub autoryzacji
- Tymczasowe dane niezbędne do przetwarzania żądania
- Wartości kontekstowe wpływające na logikę wykonania (np. limity czasowe, terminy)
Przykład użycia kontekstu w Go:
func handler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
userID := ctx.Value("userID")
// Użyj userID do obsługi żądania
}
Ważne jest, aby nie przechowywać w kontekście dużych obiektów lub danych niezwiązanych z obsługą żądania, aby uniknąć wycieków pamięci.