سلام من میتونم کدی بنویسم مثلا هر دفعه صفحه مطلب ریفرش شد بره فیلد مثلا viewCount رو یکی بهش اضافه کنه
ولی من میخوام اگر کاربر جدید صفحه رو دید این عدد زیاد بشه
یعنی مثلا من 100 بار هم صفحه رو ریفرش کنم فقط یکبار حساب کنه چون یک نفر در واقع صفحه رو فقط ریفرش کرده
بازدید یکتا رو میخوام حساب کنه
برای اینکار میتونید از پکیج زیر استفاده کنید
https://github.com/antonioribeiro/tracker
اگر خودتونم بخواهید همچین قابلیتی ایجاد کنید راه های بسیار زیادی داره.
یک راهش اینه یک جدول visitors بسازید و هر ویزیتوری که به سایتتون اومد بر اساس یکسری مشخصه مثل آی پی و دستگاه و... داخل این جدول وارد کنید. و یک جدول visits هم داشته باشید هر موقع کاربری لینکی را بازدید کرد یک رکورد داخل این جدول بزنید بگید visitor آی دی مثلا 10 پست یا ادرس ایکس را مشاهده کرد.
بعد برای کانترکش هم میتونید یک شرط بذارید اگر مثلا توی 24 ساعت گذشته بازدید نداشته یا کلا اون پیج بازدید نکرده بوده یک بازدید به کانترکش اون پست اضافه کنه.
پاسخ سوالتون بستگی داره به اینکه خواسته باشید آمار بازدیدتون چقدر دقیق باشه. شما بصورت کلی باید اطلاعات بازدید مربوط به کاربر رو به یک نحوی ذخیره کنید:
یکی از راهکارهاش استفاده از cookie هست.
راهکار دیگه اش استفاده از session هست.
و اما آخریش استفاده از IP کاربر و ذخیره در دیتابیس هست.
که به ترتیب از دقت پایین و سهولت پیاده سازی و اجرا به دقت بالا و مقداری پیچیدگی و حجم کار در اجرا تغییر میکنه.
توضیح اینکه کوکی ها کاملا در معرض دید کاربر هست و به راحتی میشه حذف و یا حتی ویرایشش کرد.
سشن ها با اینکه در معرض دید هست ولی عمدتا بصورت رمزنگاری شده هست و کاربر نهایتا میتونه حذفش کنه. ولی قابلیت ویرایش معمولا نداره.
و اما IP تا وقتی که روی همون دستگاه و همون کانکشن هست ثابت میمونه معمولا و به این راحتی قابل دستکاری یا حذف نیست.
جمع بندی اینکه به نظرم میاد منطقی ترینش استفاده از Session و ذخیره با استفاده از Redis باشه. مگر اینکه هدف خیلی خاصی داشته باشید...
پکیجی هم که بالا معرفی شد یکی از بهترین هاش هست و متدهای مختلف آماده ای داره که احتمالا جوابگوی نیازتون خواهد بود.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟