گوهر
4 سال پیش توسط گوهر مطرح شد
2 پاسخ

نحوه تعریف دیتابیس برای فعالیت های محدود

سلام، یک پروژه ای درگیر هستم که در آن نیاز است از api داده های ساختاری را دریافت کنم ولی نباید الزاما ذخیره نماییم. چون ساختار ممکن است در دفعات بعدی تغییر کند و خروجی api همیشه صرفا بروز است.
لذا مجبور هستم هر بار که کاربر لاگین میکند، آخرین ساختار مرتبط با خودش را دریافت کنم و روی آن به کاربر عملیاتی نشان دهم. سپس خروجی عملیات را صرفا به عنوان گزارش در دیتابیسم ثبت کنم و بقیه را نباید ذخیره کنم.
حال میخواستم ببینم چطوری به مدت محدود تا زمانی که کاربر لاگین هست، این دیتا را موقت داشته باشم و بتوانم محیط را بصورت پویا برایش متناسب با آخرین ساختار لاگینش نمایش دهم و عملیات را به وی بدهم. دسترسی و ... هم از طریق خروجی پارامترهایی که api میدهد مشخص میشود

دقت شود که نباید این داده ها در جایی باشند که برای کاربر عمومی دیده شود. (در سمت کاربر نباید باشند)


ثبت پرسش جدید
Mohammad reza Golshahi
تخصص : Go - Python
@golshahimohammadreza 4 سال پیش مطرح شد
0

با سلام دوست عزیز
@Gohar

برای نگه داری دیتا در سیستم های وب دو راه وجود دارد cookie یا session تفاوت بارز این دو در این است که cookie در سمت کاربر ذخیره میشود اما session در سمت سرور و باید توجه داشته باشید اگر از cookie استفاده میکنید کاربر میتواند آن را تغییر دهد پس از لحاط امنیت session امن تر می باشد.
(شما فرمودید نباید در سمت کاربر باشد پس باید از session استفاده کنید)

یک نکته وجود دارد که بنده در طی چند سالی که در این حوضه فعالیت مکینم خدمت شما عرض میکنم

اغلب در امر گزارش گیری باید عدد بدست آمده مشخص باشد که از چه طریق و از چه دیتایی به دست آمده است تا ابهاماتی که به وجود می آید با استفاده از این دیتا ها یا ریز گزارشات برطرف گردد اگر سیستم شما جنبه توسعه به خود دارد پیشنهاد میکنم به روش زیر عمل کنید . بنده از حجم اطلاعات و یا سیستم شما اطلاعی ندارم پس دارم همه جوانب را در نظر میگیرم.

روش شاید اصولی تر ( تاکیید میکنم شاید شما نیاز به این روش نداشته باشید و مهم نباشد گزارش از کجا بدست می آید و ..... )

برای این کار باید یک کرون تعریف کنید که کاربرانی لاگین هستن و در سیستم داری فعالیت می باشنند برای هر شخص دیتا به api موجود دریافت کنید و
دیتا را در دیتابیس خود آپدیت یا ذخیره نمایید (بسته به نیاز).

و عملیات های مورد نظر را از دیتابیس فراخوانی کنید تا session موقتی که ذخیره کنید.

این امر به نظر بنده به سیستم شما را منظم تر و قابلیت توسعه بیشتری در آینده میدهد.

خوب شاید به نظر بیاید شما تعداد کاربران لاگین زیادی در لحظه دارید و کال زدن مداوم به api منطقی ندارد این مورد هم باید طوری تنظیم کنید که هر تسک شما در یک پشته قرار گیرد و یا کاربری که بع عنوان مثال 5 دیقع پیش دیتا رو دریافت نمیده است دیگر نیاز به بروز رسانی اطلاعات نباشد و روش هایی که متناسب یا هدف شما در این امر را دارست این حجم پشته خود را مدیریت و کاهش دهید.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام