RkBlog

Hardware, programming and astronomy tutorials and reviews.

SQLite działająca w pamięci RAM

SQLite to prosta lecz wydajna relacyjna baza danych. W PHP 5 SQLite jest standardowym rozszerzeniem a jej obsługa jest dość prosta. Dane przetrzymywane są w plikach na których możemy operować za pomocą języka SQL tak jak w innych bazach. SQLite oferuje również tworzenie wirtualnej bazy w pamięci operacyjnej serwera. Baza jest tworzona w czasie wykonywania skryptu i ulega skasowaniu po wykonaniu się skryptu. Do czego można to użyć? Można np. wrzucić do tabeli konfigurację i w czasie wykonywania się modułu pobierać potrzebne dane, co może być poręczne przy przekazywaniu danych między funkcjami i klasami. Oto przykład:
<?php

//tworzymy wirtualną bazę w pamięci operacyjnej
$db = sqlite_open(":memory:");

//tworzymy tabelę, wpisujemy jakieś dane
sqlite_exec($db, "BEGIN;
    CREATE TABLE config (name, value);
    INSERT INTO config (name, value) VALUES ('login', 'admin');
    COMMIT;");

// Tutaj kod skryptu
$czas = time();
//
//
//
// dopisujemy dane    
    sqlite_exec($db, "BEGIN;
    INSERT INTO config (name, value) VALUES ('theme', 'matrix');
    INSERT INTO config (name, value) VALUES ('time', $czas);
    INSERT INTO config (name, value) VALUES ('meta_keywords', 'strona, serwis, moja strona');
    COMMIT;");
    
$result = sqlite_query($db, "SELECT * FROM config");
$data = sqlite_fetch_all($result);
echo "<ul>";
foreach($data as $key => $row)
{
    echo "<li><B>".$row['name']."</B> - ".$row['value']."</li>";    
}
echo "</ul>";

// Koniec skrypty, tabela już nie istnieje
RkBlog

Podstawy PHP, 14 July 2008, Piotr Maliński

Comment article