2017 © Pedro Peláez
 

library pure

Pure PHP key-value storage

image

elfet/pure

Pure PHP key-value storage

  • Tuesday, August 15, 2017
  • by medv
  • Repository
  • 7 Watchers
  • 84 Stars
  • 849,522 Installations
  • PHP
  • 4 Dependents
  • 0 Suggesters
  • 9 Forks
  • 3 Open issues
  • 6 Versions
  • 7 % Grown

The README.md

PurePHP Key-Value Storage

Build Status, (*1)

This is simple key-value storage written on PHP. It does not use files, or other database, just pure PHP., (*2)

Installation

Via Composer:, (*3)

composer require elfet/pure

Now you can run pure like this: php vendor/bin/pure, (*4)

Or you can install PurePHP globally to run pure by pure command., (*5)

Quick Guide

Start PurePHP by this command:, (*6)

pure start &

Now PurePHP server is running. Run this command:, (*7)

pure client

Now you can test PurePHP by simple commands like this:, (*8)

> pure.queue.collection.push('hello')
> pure.queue.collection.push('world')
> pure.queue.collection.pop() ~ ' ' ~ pure.queue.collection.pop()
string(11) "hello world"

In pure console you can write commands on Expression Language. To exit from console type exit command., (*9)

Documentation

Connection to PurePHP server

$port = 1337; // Default port value
$host = '127.0.0.1'; // Default host value
//...
$pure = new Pure\Client($port, $host);

Storages

PurePHP provide different types on storages. All supported storages are in src/Storage. You can access them by next methods and work with them like you work with them directly., (*10)

You do not need to manually create any collection. They will be automatically create at first access., (*11)

$pure->map('collection')->...
$pure->stack('collection')->...
$pure->queue('collection')->...
$pure->priority('collection')->...

Or you can access them by magic methods., (*12)

$pure->map->collection->...
$pure->stack->collection->...
$pure->queue->collection->...
//...

Array Storage ->map

This is simple storage what uses php array to store your data., (*13)

To store date in collection use push method:, (*14)

$pure->map('collection')->push(['hello' => 'world']);

To get value by key from collection use get method:, (*15)

$value = $pure->map('collection')->get('hello'); // will return 'world'.

To receive all elements use all method:, (*16)

$all = $pure->map('collection')->all();

You can check if key exist by has method, and delete element by delete method., (*17)

Stack Storage ->stack

This storage use SplStack to store your data., (*18)

You can use all SplStack methods and also all method., (*19)

Queue Storage ->queue

This storage use SplQueue to store your data., (*20)

You can use SplQueue methods and also all method., (*21)

SplQueue uses enqueue and deenqueue to push and pop from queue. In QueueStorage your can use push and pop methods to do this., (*22)

Priority Queue Storage ->priority

This storage use SplPriorityQueue to store your data., (*23)

You can use all SplPriorityQueue methods and also all method., (*24)

Filtering

Every storage support function filter., (*25)

Example:, (*26)

// Get all elements that more than a 100.
$result = $pure->queue('collection')->filter('value > 100');

// Limit to 10.
$result = $pure->priority('collection')->filter('value > 100', 10);

// Complex expression.
$result = $pure->of('collection')->filter('value["year"] > 2000 and value["name"] matches "/term/"');

Filter rules uses Expression Language. In expression available two variables: key and value., (*27)

Deleting

You can delete storages by delete method:, (*28)

$pure->delete('collection');

TODO

  • Dump to file
  • Load from file
  • Replication
  • Sharding

The Versions

12/03 2014

v0.1.1

0.1.1.0

Pure PHP key-value storage

  Sources   Download

MIT

The Requires

 

The Development Requires