keinos / kvsqlite3
SQLite3中的简单键值存储(PSR-16)
v0.1.0-alpha-20200622
2020-06-20 08:02 UTC
Requires
- php: ^8.0 || ^7.1
- ext-hash: *
- ext-json: *
- ext-mbstring: *
- ext-sqlite3: *
Requires (Dev)
- bamarni/composer-bin-plugin: ^1.3
- phan/phan: ^2.5
- php-coveralls/php-coveralls: ^2.2
- phpbench/phpbench: @dev
- phpmd/phpmd: ^2.8
- phpstan/extension-installer: ^1.0
- phpstan/phpstan: ^0.12.10
- phpunit/phpunit: ^9.0 || ^8.0 || ^7.0 || ^6.5
- psalm/phar: ^3.9
- squizlabs/php_codesniffer: ^3.5
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)
:删除给定键的存储值。
注意
我们不推荐存储对象。