fc_ram inMemory/NoSQL Database (PROJE)

fc_ram



 
  • Hızlı
  • php ile kodlanmış
  • php ile sorgu yapan
  • ramda depolan
  • http:80/internet bağlantısı yapabilen her program dilini destekleyen
  • Açık Kaynak Kodlu ve Ücretsiz
  • PHPde veri işlemede MySQLe göre enaz 4-5 kat performans sağlayan
  • veritabanıdır.

PHP de kullanım örneği;

1
2
3
4
5
6
7
8
<?php 
require_once "hata_yonetimi.php"; //fc_ram için gerekli fonksiyonlar
require_once "fc_ram.php"; //php de kullanacaksanız dahil etmeniz gereken kütüphane
$ram=new fc_ram(1,64000); // (VT_NO,VT_BOYUT-byte)
$ram->yaz('değişkeninVTdekiadı' , $phpdegiskeni );
$alınanphpdeğişken = $ram->oku('ramdaki dökümandegisken adı');
var_dump($ram->oku('ramdaki dökümandegisken adı'));
?>

sema

fc_ram için phpWebGUI arayüzü

fcramornek

fc_ram hakkında Dökümanlar

Yapı

Ana Kontrolcu -> veri tabanlarını kontrol eder
Veri tabanı -> Veri tabanları ad verilmez. No verilir. (1den65555e kadar) içinde DeğişkenDökümanlarını ve onların adını
saklar
DeğişkenDökümanı -> 2 türlü olabilir.
1. JSON Şekline getirmiş php değişkeni saklar
2. si salt yazı/string saklar

Sorgu sistemi:

sorgu sisteminde , sorgulama PHP dilinde yapılır.Buda büyük özgürlükler sağlar. NOT: her satırdan sonra \”;\” kullanın
eğer fc_ram php kodlarınınız arada kullanıyorsunuz. classı kopyala/yapıştır yapıp kullanabilrsiniz.
eğer phpWebGui veya dışardan erişiyorsanınız. sorgu.php \’ye GET veya POST ile \’apiparola\’ ve \’komut\’ değerlerini
göndermeniz gerekir. parola doğruysa sorgu.php sorgunuzu işleyip geri döndürür.

Veri Tabanı Oluşturma :: $ram o an oluşturulan veritabanının seçim değişkenidir. Farklı isim verebilirsiniz

1
 $ram=new fc_ram(VT_NO,VT_BOYUT);

Veri tabanını seçme $ram o an oluşturulan veritabanının seçim değişkenidir. Farklı isim verebilirsiniz

1
 $ram=new fc_ram(VT_NO);

Veri tabanından php değişkeni alma/okuma SELECT

1
 $alınanphpdeğişken = $ram->oku('ramdaki dökümandegisken adı');

Veri tabanından yazı/string alma/okuma SELECT

1
 echo $ram->okudata('ramdaki dökümandegisken adı');

1
 $phpstring = okudata('ramdaki dökümandegisken adı');

Veri tabanıda php değişkeni ekleme/oluşturma INSERT INTO ve UPDATE

1
 $ram->yaz('değişkeninVTdekiadı' , $phpdegiskeni );

Veri tabanıda php değişkenini değiştirme INSERT INTO ve UPDATE

1
 $ram->yaz('değişkeninVTdekiadı' , $phpdegiskeni );

Veri tabanıda php değişkenini silme DELETE

1
 $ram->yaz('değişkeninVTdekiadı' , NULL );

Veri tabanına yazı/string eklme/gönderme/oluşturma INSERT INTO ve UPDATE

1
 $ram->yazdata('değişkeninVTdekiadı' , "YAZIMIZZZZZZZZZZZ" );

1
 $ram->yazdata('değişkeninVTdekiadı\' , $phpstring );

Veri tabanında ki yazı/string değiştirme INSERT INTO ve UPDATE

1
 $ram->yazdata('değişkeninVTdekiadı\' , "YAZIMIZZZZZZZZZZZ\" );

1
 $ram->yazdata('değişkeninVTdekiadı' , $phpstring );

Veri tabanında ki yazı/string i silme DELETE

1
 $ram->yazdata('değişkeninVTdekiadı' , NULL );

eğer $php değişkeninden 2 boyutlu array (yani tablo) alıyorsanınız. sql deki ORDER BY, WHERE veya LIMIT
fonksiyonlarını karşılamak için. PHPde foreach , sort , unset fonksiyonlarını öğrenmeniz gerekir. (bknz.
http://www.php.net)

sorgulan şeyi almak için

1
 echo $phpstring;

1
 echo $ram->okudata('ramdaki dökümandegisken adı');

1
 var_dump($phpdeğişkeni);

1
 var_dump($ram->oku('ramdaki dökümandegisken adı'));

fonksiyonlar:

$ram->yaz : bir php değişkenini türü ne olursa olsun JSON şekline çevirip ramde saklar
$ram->yazdata : bir yazıyı veya dökümanı ek işlem yapmadan RAMe yazar
$ram->oku : veritabanındaki JSON şekline çevrilmiş php değişkenini geri getirir
$ram->okudata : bir yazıyı / dökümanı veya JSON şeklindeki php değişkeni json olarak okur
$ram->kapat : değişken arrayındaki son değişiklikleri ram kaydeder.
$ram->log : ram bilgi kaydı ekler
$ram->vt_kontrolcu: ramda veritabanı yoksa yeni birtane oluşturur ve bu ram boşalana kadar devam eder. oluştururken
yukle fonksiyonunu çalıştırır.
$ram->yukle: oclass verride idilerek kullanılır. veritabanı ilk oluşturuldugunda yapılacak şeylerdir

# fc_RAM classı hakkında
# fc_RAM class by Ö. Faruk CAN
# Bu bir in-memory database\’dir. PHPde çalışır. MongoDB den ilham alınarak tasarlanmıştır. Veritabanı ve
DeğişkenDökümanı sistemi vardır.
# Bu Kütüphane verileri RAMde sürekli şekilde saklama yeteneğine sahip bir veritabanı görevi görür
# Veriler JSON halinde RAMde saklanır
# Veri performansı arttırır. Sık kullanılanın verilerde kullanmanız tavsiye edilir :)
# (Windows.PHP 5.3 üzerinde) Yaklaşık 0.006 sn de işlem görür. localhost üzerine kurulu MySQLden yaklaşık 4 kat daha
hızlıdır.
# – Gereksinimler:
# *php_shmod eklentisi gerektirir ki bu birçok sunucuda kurulu halde gelir :)
# *xdie() fonksiyonu gerektirir.Bu hataları yönetime bildirmek içindir. yoksa die() kullanabilirsin. fonksiyon
için farukcan.net
# – Kullanımım:
# Bu veritabanında veritabanlarına ad verilmez, numara verilir. Bir veritabanı söyle seçilir:
# * $ram=new fc_Ram([veritabanı nosu : 1],[veritabanı boyutu : 32000*byte*]); // [SEÇİME BAĞLI] veritabanı nosu 1
den 66555e kadar desteklenir.
# * $ram->yaz(\’dökümandeğişkeniadı\’ , $phpdegiskeni); // phpdeki her türlü arrayı class saklayabilirsiniz. mysql
de altığının 2 boyutlu arrayları bile.
# * $phpdegiskeni = $ram->oku(\’dökümandeğişkeniadı\’); //değişkeni önceden gönderdiğiniz gibi alırsınız.
# NOT : -WHERE- & -ORDER BY- komutları nerde diyorsanır. PHPnin sort ve array fonksiyonları göz atın.
# NOT : Vt boyutu maximum kapasitesine ulaştığı zaman hata verir ve sıfırlanır. Lütfen Max Boyutu ona göre ayarlatın.
# NOT : Classlara RAMdan değerlerini atamak için classı extends ramdanyuklebilir yapmanız gerekir. ramdanyuklebilir
classı için farukcan.net


İNDİR : Son Sürüm v1.1

Dosyalar

  1. api_parola.php
  2. fc_ram.php
  3. fc_ram_gui.php
  4. sorgu.php
  5. hata_yonetimi.php
  6. BENiOKU.txt
  7. fc_ram.png
  8. icon.png
  9. LiSANS.txt
  10. sema.png
  11. stil.css

Önceki Sürümler

http://pc.cd/gXm

KURULUM

Dosyaları php sunucusu klasörüne çıkartın.
API Şifresi, hem k.adı hem şifre görevi görür.
Onları kontrol etmek için api_parola.php dosyasına göz atın.
phpWebGUI için

http://siteveyalocalhost/fc_ram/fc_ram_gui.php