Γρήγορη εκκίνηση
PHP
use Storh\DocStore;
use Storh\Queue;
use Storh\RecordQuery;
use Storh\SegmentedLog;
use Storh\StorageRoot;
$root = StorageRoot::resolve(__DIR__ . '/var/storh', 'demo');
$docs = new DocStore($root, 'pages');
$home = $docs->put([
'kind' => 'page',
'title' => 'Home',
]);
$loaded = $docs->get($home->id());
$log = new SegmentedLog($root, 'events');
$log->put([
'type' => 'page.saved',
'pageId' => $home->id(),
]);
foreach ($log->stream(RecordQuery::all()->after($home->id())->limit(50)) as $record) {
// Process records lazily.
}
$queue = new Queue($root, 'jobs');
$jobId = $queue->enqueue(['task' => 'render', 'pageId' => $home->id()]);
$job = $queue->claim();
if (null !== $job) {
$queue->complete($job->id());
}
Και οι τρεις μηχανές αποθηκεύουν πίνακες ως φορτία εγγραφών και επιστρέφουν αντικείμενα StorageRecord με προσπελάτες id() και data().
Και οι δύο χώροι αποθήκευσης διαθέτουν επίσης έναν δημιουργό ερωτημάτων με αλυσίδα μεθόδων:
PHP
$pages = $docs
->query()
->where('kind')->eq('page')
->orderBy('title')
->limit(20)
->get();
Τι ακολουθεί:
- Επιλογή μηχανής για να δείτε ποιος χώρος αποθήκευσης ταιριάζει σε κάθε φόρτο εργασίας
- Ευρετήρια πριν από το φιλτράρισμα συλλογών με περισσότερες από μερικές χιλιάδες εγγραφές
- SQL Mirror για συνδέσεις, αναζήτηση και αναφορές στο SQL