keinos/kvsqlite3

SQLite3中的简单键值存储(PSR-16)

v0.1.0-alpha-20200622 2020-06-20 08:02 UTC

This package is auto-updated.

Last update: 2024-09-22 16:18:34 UTC


README

与非关系型数据库无关。

<?php declare(strict_types=1);

require_once(__DIR__ . '/../vendor/autoload.php');

try {
    // Create storage.
    $db = new \KEINOS\KVSQLite3('sample.db');

    // Set a values.
    $db->set('foo', 'bar');
    $db->set('baz', ['qux', 'quux']);

    // Get value.
    echo $db->get('foo'), PHP_EOL;

    // Get a value with default return value.
    echo $db->get('hoge', '"hoge" does not exist.'), PHP_EOL;

    // Delete a value.
    $db->delete('foo');

    // Dump data as SQL queries to a file.
    $db->dump('sample.sql');
} catch (\RuntimeException $e) {
    $msg = 'ERROR:' . $e->getMessage() . PHP_EOL;
    echo $msg;
}
<?php declare(strict_types=1);

require_once(__DIR__ . '/../vendor/autoload.php');

$db = new \KEINOS\KVSQLite3('sample.db');

// Set values
$data = [
  'foo'    => 'bar',
  'baz'    => 'qux',
  'quux'   => 'corge',
  'grault' => 'garply',
];
$db->setMultiple($data);

// Get values
$keys = [
  'foo',
  'baz',
];
$result = $db->getMultiple($data);
print_r($result);

// Delete values
$keys = [
  'quux',
  'grault',
];
$db->deleteMultiple($keys);

// Is the key set?
echo $db->has('baz') ? 'baz is set' : 'baz not set', PHP_EOL;

// Clear data
$db->clear();

方法

  • 基本
    • set($key, $value, [$ttl]):使用给定键存储值。如果键已存在,则值将被覆盖。如果设置了 $ttl,则数据将在给定的秒数后过期。
    • get($key):返回给定键的存储值。
    • delete($key):删除给定键的存储值。
    • dump($name_file):将存储的数据以SQL查询的形式导出。
  • 高级
    • clear():删除所有存储的数据。
    • has($key):确定存储中是否存在项。
    • setMultiple($data):一次性存储多个值。
    • getMultiple($keys):返回给定键的存储值。
    • deleteMultiple($keys):删除给定键的存储值。

注意

我们不推荐存储对象。