• 28-01-2019, 16:37:04
    #1
    İnternette araştırdım ama her sayfa değiştiğinde bir datayı güncelle. O data 5 dakikadan eskiyse çevrimdışıdır değilse çevrimiçi diye geçiyor.

    Böyle yaparsam performans konusunda sıkıntı olmaz mı?
    Varmı bir fikri olan mantıkla ilgili?
  • 28-01-2019, 16:41:28
    #2
    Platin üye
    ayrı bir tabloda, sayfa güncellendikçe INSERT attırırsan,

    sitenin yoğunluğuna göre günde 1, saatte 1 artık kafana göre cron çalıştırıp eski verileri sildirirsen,

    tek satırlık bir SQL sorgusunu hissetmessin.
  • 28-01-2019, 16:42:55
    #3
    sistem diye bir tablo oluşturup uye_id, sonislem olarak yapacağım o zaman sanırım.

    Ama anlamadığım bir şey var.
    Ayrı tablo olursa update yapamam, insert mi olacak sürekli sürekli?

    E peki çevrimiçi, çevrimdışı kontrol ederken hangi kayıdı alacağım ?
  • 28-01-2019, 16:47:06
    #4
    Merhaba,

    Sessıonları kontrol edebilirsin her 5 dakikada bir session var mı yokmu bunu kontrol et ona göre işlem uygulayabilirsiniz.
  • 28-01-2019, 16:52:18
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    emreires adlı üyeden alıntı: mesajı görüntüle
    sistem diye bir tablo oluşturup uye_id, sonislem olarak yapacağım o zaman sanırım.

    Ama anlamadığım bir şey var.
    Ayrı tablo olursa update yapamam, insert mi olacak sürekli sürekli?

    E peki çevrimiçi, çevrimdışı kontrol ederken hangi kayıdı alacağım ?
    Bir de geçerlilik diye bir sütun ekleyin. Bunun değerleri geçerli/geçersiz olsun örneğin. Kullanıcı yeni bir işlem yaptığında tabloya bunu geçerli olan kayıt edin, bir önceki geçerli kaydı da geçersiz olarak değiştirin. Çevrimiçi kontrolünü de geçerli işleme göre yapın.

    Ek: Eğer kullanıcı işlemlerini tutmak sizin için önemli değilse, boşuna kalabalık yapmaması için bir de tarih bölümü ekleyin ve cron job oluşturun. Örneğin her gün 3 günden eski olan işlemleri veritabanınızdan silin.
  • 28-01-2019, 16:54:13
    #6
    bybrown adlı üyeden alıntı: mesajı görüntüle
    Bir de geçerlilik diye bir sütun ekleyin. Bunun değerleri geçerli/geçersiz olsun örneğin. Kullanıcı yeni bir işlem yaptığında tabloya bunu geçerli olan kayıt edin, bir önceki geçerli kaydı da geçersiz olarak değiştirin. Çevrimiçi kontrolünü de geçerli işleme göre yapın.

    Ek: Eğer kullanıcı işlemlerini tutmak sizin için önemli değilse, boşuna kalabalık yapmaması için bir de tarih bölümü ekleyin ve cron job oluşturun. Örneğin her gün 3 günden eski olan işlemleri veritabanınızdan silin.
    Bunu yapmak yerine her sayfa değişimine uye tablosundan sonislem diye bir satır oluşturup güncellesem daha iyi olmaz mı
  • 28-01-2019, 16:58:14
    #7
    emreires adlı üyeden alıntı: mesajı görüntüle
    Bunu yapmak yerine her sayfa değişimine uye tablosundan sonislem diye bir satır oluşturup güncellesem daha iyi olmaz mı
    Amacınıza göre değişir, eğer sadece çevrimiçi için bunu yapmak istiyorsanız dediğiniz gibi yapmanız daha mantıklı. Ben kullanıcının son işleminin ne olduğunu görmek, işlemleri loglamak istediğinizi düşünerek yazdım mesajı. Her kullanıcı sayfasına son işlemi değiştirecek bir sorgu ekleyin, yalnızca zamanı koyun. Çevrimiçi kontrolü için de kafanıza göre 5 dakika, 3 dakika gibi kontrol edersiniz.
  • 28-01-2019, 16:58:22
    #8
    emreires adlı üyeden alıntı: mesajı görüntüle
    Bunu yapmak yerine her sayfa değişimine uye tablosundan sonislem diye bir satır oluşturup güncellesem daha iyi olmaz mı
    zaten genelde last_activity şeklinde bir sütun olur ve last_activity son 5 dk olan üyeler online sayılır. He gerçek zamanlı yapacağım diyosan, daha derinlemesine girmen lazım. Socket protokolüne falan bulaşman lazım
  • 28-01-2019, 17:00:17
    #9
    Peki her sayfaya ayrı ayrı kod yazmak yerine header.php'ye direk eklesem update sonislem olayını yine aynı sonuca varmaz mıyım?
    Sonuçta her sayfada header.php çağırılıyor.