PHP 7.4 ile NoSQL veritabanları (MongoDB, Redis) kullanımı nasıl yapılır? (MongoDB extension, Redis extension, Predis kütüphanesi)

NoSQL Veritabanları

NoSQL veritabanları, geleneksel veri tabanlarının (relational database) sınırlarını aşan esnek veri yapıları sunan bir veritabanı modelidir. MongoDB ve Redis, en yaygın kullanılan NoSQL veritabanları arasında yer alır. MongoDB, belgeler halinde veri depolarken, Redis anahtar-değer çiftleri ile çalışır. PHP 7.4 ile bu veritabanlarının kullanımı için çeşitli yöntemler ve kütüphaneler mevcuttur.

MongoDB Kullanımı

MongoDB ile PHP arasında etkileşim sağlanabilmesi için MongoDB PHP sürücüsünün kurulması gereklidir. Bu sürücü, veritabanıyla etkileşimde bulunmak için gerekli fonksiyonları sağlar. Çalışma ortamında MongoDB’i kurmak ve yapılandırmak, ardından PHP sürücüsünü yüklemek gereklidir.

MongoDB Sürücüsünün Kurulumu

MongoDB PHP sürücüsü, PECL aracılığıyla yüklenebilir. Aşağıdaki komutlar, sürücünün yüklenmesi için kullanılır:

“`bash
sudo pecl install mongodb
“`

Yükleme tamamlandıktan sonra, `php.ini` dosyasına aşağıdaki satırın eklenmesi gerekir:

“`ini
extension=mongodb.so
“`

MongoDB ile Bağlantı Kurma

MongoDB ile bağlantı kurabilmek için `MongoDB\Driver\Manager` sınıfı kullanılabilir. Bağlantı kurmak için aşağıdaki örnek kod kullanılabilir:

“`php
require ‘vendor/autoload.php’; // Composer autoload

$manager = new MongoDB\Driver\Manager(“mongodb://localhost:27017”);
“`

Veri Ekleme ve Sorgulama

Veri eklemek için `MongoDB\Driver\BulkWrite` sınıfı kullanılabilir. Aşağıda basit bir belge ekleme işlemi örneği verilmiştir:

“`php
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert([‘name’ => ‘John Doe’, ‘age’ => 30]);

$result = $manager->executeBulkWrite(‘testdb.users’, $bulk);
“`

Veri sorgulamak için `MongoDB\Driver\Query` sınıfı kullanılabilir:

“`php
$query = new MongoDB\Driver\Query([]);
$cursor = $manager->executeQuery(‘testdb.users’, $query);

foreach ($cursor as $document) {
print_r($document);
}
“`

Redis Kullanımı

Redis, yüksek performanslı bir anahtar-değer veritabanıdır. PHP ile Redis kullanımı için genellikle Redis PHP sürücüsü veya Predis kütüphanesi kullanılır. Redis PHP sürücüsü, PECL üzerinden kurulabilir.

Redis Sürücüsünün Kurulumu

Redis PHP sürücüsü yüklemek için aşağıdaki komut kullanılmalıdır:

“`bash
sudo pecl install redis
“`

Yükleme tamamlandıktan sonra, `php.ini` dosyasına aşağıdaki satırın eklenmesi gerekir:

“`ini
extension=redis.so
“`

Alternatif olarak, Predis kütüphanesi de kullanılabilir. Predis, composer ile kurulabilir:

“`bash
composer require predis/predis
“`

Redis ile Bağlantı Kurma

PHP Redis sürücüsünü kullanarak örnek bir bağlantı:

“`php
$redis = new Redis();
$redis->connect(‘127.0.0.1’, 6379);
“`

Predis kullanarak bağlantı kurmak için:

“`php
require ‘vendor/autoload.php’;
$client = new Predis\Client();
“`

Veri Ekleme ve Sorgulama

Redis’te veri eklemek için `set` ve almak için `get` yöntemleri kullanılabilir:

“`php
$redis->set(‘name’, ‘John Doe’);
$name = $redis->get(‘name’);
echo $name;
“`

Predis ile veri eklemek ve almak:

“`php
$client->set(‘name’, ‘John Doe’);
$name = $client->get(‘name’);
echo $name;
“`

Performans ve Kullanım Alanları

MongoDB, büyük ölçekli veri kümeleri için ideal bir çözüm sunar. Belgeler arasında karmaşık sorgular yapılmasına olanak tanır. Öte yandan, Redis hızlı veri erişimi ile önbellekleme, oturum yönetimi gibi senaryolar için sıklıkla tercih edilir.

MongoDB, veri yapılarının dinamik olarak değişmesine olanak tanırken, Redis yüksek performans ve düşük gecikme süreleri sunar. Bu nedenle, iki veritabanı da belirli durumlar için uygun hale gelir.

Sonuç

PHP 7.4 ile NoSQL veritabanları olan MongoDB ve Redis’in kullanımı, uygun sürücülerin veya kütüphanelerin yüklenmesi ve bağlantı yöntemlerinin doğru şekilde uygulanması ile mümkündür. MongoDB, belge tabanlı veri yönetimi sağlarken, Redis belirli durumlarda hızlı veri erişimi sunar. Her iki veritabanının da sağladığı özellikler, proje gereksinimlerine bağlı olarak çeşitli kullanım senaryolarında avantaj sağlar.

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

SON İÇERİKLER

İLGİNİZİ ÇEKEBİLİR