mthenw/nosqlite

Simple key => value store based on SQLite3

Installs: 246

Dependents: 1

Stars: 29

Watchers: 3

Forks: 4

Language: PHP

v0.3.0 2013-09-26 19:14 UTC

README

Build Status Coverage Status Latest Stable Version

Introduction

NoSQLite is simple key-value store using SQLite as raw data store. Mainly for small project where MySQL is too heavy and files are too ugly.

Requirements

  • PHP >=5.3.2
    • PDO (by default as of PHP 5.1.0)
    • PDO_SQLITE (by default as of PHP 5.1.0)

Installing via Composer

Get composer and add following lines to composer.json:

{
    "require": {
        "mthenw/nosqlite": "*@stable"
    }
}

Usage

  1. Create stores' manager (file will be created if not exists)

    $nsql = new NoSQLite\NoSQLite('mydb.sqlite');
    
  2. Get store

    $store = $nsql->getStore('movies');
    
  3. Set value in store (key and value max length are limited by SQLite TEXT datatype)

    $store->set(uniqid(), json_encode(array('title' => 'Good Will Hunting', 'director' => 'Gus Van Sant'));
    
  4. Get value from store (will be created if not exists)

    $store->get('3452345');
    
  5. Get all values

    $store->getAll();
    
  6. Delete all values

    $store->deleteAll();
    
  7. Iterate through store (Store implements Iterator interface)

    foreach($store as $key => $value)
        ...
    
  8. Get number of values in store (Store implements Countable interface)

    count($store);
    

Tests

Tests are written in PHPUnit which is required as a dev package in composer.json. For running test use

./vendor/bin/phpunit

or simply

make test