fastd / storage
FastD php simple framework Storage Component
Installs: 2 110
Dependents: 2
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 1
Open Issues: 0
Requires
- php: >=7.0
Requires (Dev)
- phpunit/phpunit: 5.0
This package is auto-updated.
Last update: 2024-12-13 14:18:04 UTC
README
简单的 PHP 存储类组件,支持原生 Memcached, Redis, SSDB 等操作。
要求
- PHP 7+
Composer
{ "fastd/storage": "2.0.x-dev" }
扩展
- Redis https://github.com/owlient/phpredis
- Memcached https://github.com/php-memcached-dev/php-memcached
- SSDB https://github.com/jonnywang/phpssdb
使用
都是简单的封装,实现统一一套 API,统一入口和基础 key/value 存储操作
文件缓存
文件缓存此处仅使用最简单的 \SplFileObject
进行扩展,因为文件缓存样式以及支持的存储类型不是太过于丰富,所以此处仅作为最简单的 key/value 方式进行存储。
$file = new File(__DIR__ . '/test.log'); $file->set('janhuang'); $content = $file->get();
通过 set
方法存储内容, 通过 get
方法获取存储的内容,具体操作请看 \SplFileObject
,文件存储对象继承于 SplFileObject
Redis
use FastD\Storage\Redis\Redis; $redis = new Redis([ 'host' => '', 'port' => '', 'auth' => '' ]); $redis->set($name, $value, $ttl = 0); $redis->get($name);
获取 Redis 与原生对象,保持使用上的灵活。
use FastD\Storage\Redis\Redis; $redis = Redis::connect([ 'host' => '', 'port' => '', 'auth' => '' ]); // 原生 redis 操作 $redis->mset($name, $value);
Redis::connection(array $config): \Redis
返回一个原生操作的扩展对象,可以然你按照原生的方式操作。
Memcached
use FastD\Storage\Memcached\Memcached; $memcached = new Memcached([ 'host' => '', 'port' => '' ]); $memcached->set('age', '18');
原生操作
use FastD\Storage\Memcached\Memcached; $memcached = Memcached::connect([ 'host' => '', 'port' => '' ]);
SSDB
use FastD\Storage\Ssdb\Ssdb; $ssdb = new Ssdb([ 'host' => '', 'port' => '' ]);
原生操作
use FastD\Storage\Ssdb\Ssdb; $ssdb = Ssdb::connect([ 'host' => '', 'port' => '' ]);
友情提示
所有缓存操作都实现 FastD\Storage\CacheInterface
接口,所以缓存操作保持一致,注意各个存储得兼容方式。 均使用 new
进行实例化。
而原生操作均使用 FastD\Storage\StorageInterface::connect(array $config)
静态方法进行获取,文件存储较为特殊,只有 open
方法。
友谊得小船不能说翻就翻
Testing
phpunit