Ben Veritabanı oturumlar ya da Native PHP Dosya Oturumları kullanmalı mıyım?

1 Cevap php

Ben sadece bir (CodeIgniter'ı) desteklenen bir topluluk için kendi MVC framework üzerinde hareket ettik. Ben sadece CodeIgniter functions benim oturumları üzerinde dönüştürme değilim ve onlar, varsayılan olarak, şifrelenmiş bir tanımlama olarak oturum verilerini saklamak olduğunu fark ediyorum. Sundukları alternatif veritabanı oturumları değil, doğal PHP kütüphane gibi sunucu tarafı dosya oturumları.

Şimdi sitemde, ben güvenli bir arka uç paneli bina olacak böylece bir şifreli çerez akıllı seçenek gibi görünmüyor ama ben particually o (hosting) çok hızlı değil gibi gereksiz yere benim veritabanına bağlanmak zorunda istemiyorum.

Ben arkalarında akıl yerli oturumları olmak ve database sessions veya server-side file sessions, genellikle daha iyi bir seçenek olarak kabul edilip olacağını destekleyen değil merak ediyorum.

Teşekkürler.

1 Cevap

Temelde, oturumun veri depolamak için, insanlar genellikle üç çözümlerden birini kullanın:

  • dosya (the default)
  • veritabanı
  • memcached

Dosyalar varsayılan olduğu gibi, en çok kullanılan - ve çoğu durumda mükemmel çalışıyor - ama çalışmıyor hangi en az bir durum var: Eğer birkaç sunucuları var, ve kullanıcılar yük dengeli edilir Bu (i.e. when 1 user is not always on the same server).

Durum bu tür, oturumları saklamak için bir paylaşılan / merkezi bir yer olması gereklidir - ve veritabanları bu tanıma uyan; ve çok kolay kurulum - ve PHP uygulamalar genellikle bir veritabanı ile çalışır.

Ve veritabanları özellikle yazma için, o iyi ölçek yok gibi, bazen, memcached gibi yerine, bir şey kullanabilirsiniz: İstediğiniz kadar sunucuların genelinde, RAM veri depolayan bir mecanism (faster) / ihtiyaç {[ (1)]}.


What solution should you use ?

Peki, bu durumlarda hangi sen?

  • Dosyaları en azından sürece bir kullanıcı aynı sunucu üzerinde her zaman olduğu gibi, Tamam
  • If you need a veritabanı for your application, you can store sessions in the veritabanı : no need for any additionnal setup (For example, Drupal does this, by default).
  • memcached daha kurulum gerekiyor, ama sen gerçekten çok ağır trafik varsa muhtemelen en iyi çözümdür ...