Junior — Middle
Ի՞նչ տվյալներ կամ օբյեկտներ կարելի է պահել հավելվածի կամ սեսիայի կոնտեքստում։
sobes.tech AI
Պատասխան AI-ից
Go-ի հավելվածի կամ սեսիայի կոնտեքստում սովորաբար պահվում են տվյալներ, որոնք անհրաժեշտ են օգտատիրոջ հարցման կամ սեսիայի ողջ կյանքի ընթացքում: Դրանք կարող են լինել՝
- Օգտատիրոջ մասին տեղեկություններ (ID, դերեր, կարգավորումներ)
- Վավերացման կամ թույլտվության նշաններ
- Ժամանակավոր տվյալներ, որոնք անհրաժեշտ են հարցման մշակման համար
- Կոնտեքստային արժեքներ, որոնք ազդում են գործարկման տրամաբանության վրա (օրինակ՝ ժամանակային սահմանափակումներ, ժամկետներ)
Go-ում կոնտեքստի օգտագործման օրինակ՝
func handler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
userID := ctx.Value("userID")
// Օգտագործեք userID-ը հարցումը մշակելու համար
}
Կարևոր է, որ կոնտեքստում չպահվեն մեծ օբյեկտներ կամ տվյալներ, որոնք չեն կապված հարցման մշակման հետ, որպեսզի կանխել հիշողության լճացումը: