suven / flint-redis
该软件包最新版本(v1.0.0)没有可用的许可信息。
flintstone和predis的包装器
v1.0.0
2017-04-24 22:40 UTC
Requires
- php: ~5.6|~7.0
- fire015/flintstone: ^2.0
- predis/predis: ^1.1
Requires (Dev)
- phpunit/phpunit: ~5.7
- squizlabs/php_codesniffer: ^2.3
This package is not auto-updated.
Last update: 2024-09-29 02:26:45 UTC
README
超轻量级且具有观点的包装器,围绕 flintstone 和 predis。
使您能够使用redis或文件系统存储多个键值集合。
背景
为什么我需要这个?
如果您正在编写需要缓存集合数据的应用程序,您会希望使用一些快速键值存储,例如redis或memcached。不幸的是,redis并不总是可用,尤其是在共享主机上。在这些情况下,如果您仍然需要缓存内容,文件系统通常是一个更好的选择,而不是不缓存。
为什么没有PSR-6?
市面上有大量现成的缓存适配器,它们实现了某些常用接口。这些适配器通常经过良好的测试,功能强大,维护良好。它们也可能为您提供更多选择提供商的自由。如果您还需要为memcached或db-caching提供支持,您应该选择这些中的一个。
话虽如此,该库的力量在于它是最小化和具有观点的。它为您提供 exactly two options for caching-providers,并带有两个提供商共享的所有功能。
安装
composer require suven/flint-redis
使用
use Suven\FlintRedis\FlintRedisCacheFactory; if ($youWantToUseRedis) { FlintRedisCacheFactory::$strategy = FlintRedisCacheFactory::STRATEGY_REDIS; FlintRedisCacheFactory::$options = [ "yourOptions" => "that you'd like to pass to predis" ]; } if ($youWantToUseFlintstone) { FlintRedisCacheFactory::$strategy = FlintRedisCacheFactory::STRATEGY_FLINTSTONE; FlintRedisCacheFactory::$options = [ "yourOptions" => "that you'd like to pass to flintstone" ]; } // Get a new collection for settings $settings = FlintRedisCacheFactory::create("settings"); // Set a value $settings->set('target', 'worldDomination'); $settings->set('favNumber', 42); $settings->set('someBool', true); $settings->set('youCanStoreAnythingPHPcanSerialize', [ 'foo' => 'bar' ]); // Get a value by key $favNumber = $settings->get('favNumber'); // Get all values $allSettings = $settings->getAll(); // Get all keys $settingKeys = $settings->getKeys(); // Delete a value by key $settings->delete('favNumber'); // Delete all settings $settings->flush();