Giriş yapmadınız.

#1 19.07.2018 10:29:06

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 1,641
Website

Laravel'de oturumun veritabanında saklanması problemi

Merhaba

Laravel ile yazdığım çok fazla hit alan bir uygulamada oturumları (session) veritabanında saklamayı terchi etmiştim. O zamanlar neden Redis kullanmadım bilmiyorum, biraz eski.

Birkaç gündür sunucu aşırı veritabanı kullanımından dolayı bellek hatası veriyordu. Sorunun kaynağı sessions tablosundaki şişme çıktı. Tablo o kadar şişmiş ki tablo üzerinden yapılan SELECT COUNT ve DELETE işlemleri dakikalarca sürüyor ve sunucuyu tıkıyordu. Hiç farketmedim. phpMyAdmin bile açılmıyordu.

Session driver'ı olarak redis olarak değiştirdim, mysql komut satırından da bağlanıp sessions tablosunu da kaldırdım, sunucu uçtu resmen.

Bilginiz olsun.

Çevrimdışı

#2 19.07.2018 10:55:27

Kevin-Mitnick
Üye
Kayıtlı: 26.05.2016
Mesajlar: 483

Yanıt: Laravel'de oturumun veritabanında saklanması problemi

@mgmus hocam redis komutları farklı mı sql den  ? Bende başladımda ufaktan mysql sıkmaya başladı aynı sorunları yaşıyorum sildiğiniz session tablosu php artisan migrate ile gelen tablo değil mi ?


Mister Koder

Çevrimdışı

#3 19.07.2018 12:52:05

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 1,641
Website

Yanıt: Laravel'de oturumun veritabanında saklanması problemi

Redis, MySQL gibi relational bir veritabanı değil, SQL kullanmıyor. Bir anahtar ile değeri tutmanızı sağlıyor. Veritabanı gibi kullanılabiliyor ama sadece veriyi saklama özelliğinden dolayı. Laravel'de cache, session ve kuyruk işlemlerinde kullanılabiliyor.

Benim yaşadığım sıkıntı oturum tablosunun (evet, migrate ile gelen, Laravel'in kendi tablosu) fazla ziyaretten aşırı dolması. Bir tane Task ile gece otomatik boşaltabilirsim belki ama açıkçası database yazan yeri redis yazıp kaydetmek kolayıma geldi. Üstelik Redis aralarında en hızlı ve düzgün çalışanı diyebilirim.

MySQL'de GB'larca büyük veritabanlarıyla işlemler yapılıyor. MySQL ile karşılaştığınız sorunların büyük kısmı diğer veritabanlarında da karşınıza çıkabilir. O yüzden sorunu çözmeye çalışmak ya da karşılaşılan durumla ilgili genel kullanılan çözümleri araştırmak daha mantıklı.

Çevrimdışı

#4 24.07.2018 08:23:54

deathisonitsway
Üye
Kayıtlı: 01.02.2016
Mesajlar: 449

Yanıt: Laravel'de oturumun veritabanında saklanması problemi

redis candır @mgsmus usta; sessionları hep redis tarafında tutmayı uygun buluyorum ben.
bu arada birde redisin bildiğiniz gibi default olarak 16 database seçimi var ; select 1 select 2 gibi kategorilendirirseniz neyin nerde oldugunu çok kolaylıkla yönetebilirsiniz.


Laravel does not save you. Php knowledge only save you. Do not become a Laravel programmer, just the opposite,become php developer.

Çevrimdışı

#5 24.07.2018 10:03:02

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 1,641
Website

Yanıt: Laravel'de oturumun veritabanında saklanması problemi

Sunucuya ilk kurduğum şeylerin başında geliyor. Özellikle predis/predis değil de php_redis ile kullanılırsa gerçekten çok hızlı.

Çevrimdışı

Forum alt kısmı