limingxinleo / i-cache
Illuminate Cache for Hyperf
Installs: 1 058
Dependents: 1
Suggesters: 0
Security: 0
Stars: 8
Watchers: 3
Forks: 2
Open Issues: 0
Requires
- php: >=8.0
- hyperf/di: ^3.0
- hyperf/utils: ^3.0
- nesbot/carbon: ^2.0
- psr/simple-cache: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.0
- hyperf/config: ^3.0
- hyperf/redis: ^3.0
- limingxinleo/happy-join-hyperf: ^1.0
- mockery/mockery: ^1.0
- phpstan/phpstan: ^1.0
- phpunit/phpunit: >=7.0
- swoole/ide-helper: dev-master
Replaces
README
安装
composer require limingxinleo/i-cache
配置
创建配置文件
php bin/hyperf.php vendor:publish limingxinleo/i-cache
配置如下
因为其他缓存驱动暂时无法被协程化,所以只支持 array file 和 redis
<?php declare(strict_types=1); use Hyperf\Utils\Str; return [ /* |-------------------------------------------------------------------------- | Default Cache Store |-------------------------------------------------------------------------- | | This option controls the default cache connection that gets used while | using this caching library. This connection is used when another is | not explicitly specified when executing a given caching function. | */ 'default' => env('CACHE_DRIVER', 'array'), /* |-------------------------------------------------------------------------- | Cache Stores |-------------------------------------------------------------------------- | | Here you may define all of the cache "stores" for your application as | well as their drivers. You may even define multiple stores for the | same cache driver to group types of items stored in your caches. | | Supported drivers: "apc", "array", "database", "file", | "memcached", "redis", "dynamodb", "null" | */ 'stores' => [ 'array' => [ 'driver' => 'array', 'serialize' => false, ], 'file' => [ 'driver' => 'file', 'path' => BASE_PATH . '/storage/cache/data', ], 'redis' => [ 'driver' => 'redis', 'connection' => 'default', 'lock_connection' => 'default', ], ], /* |-------------------------------------------------------------------------- | Cache Key Prefix |-------------------------------------------------------------------------- | | When utilizing a RAM based store such as APC or Memcached, there might | be other applications utilizing the same cache. So, we'll specify a | value to get prefixed to all our keys so we can avoid collisions. | */ 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_') . '_cache'), ];
使用
文档地址 https://learnku.com/docs/laravel/8.x/cache/9389
助手函数
本组件实现了与 Laravel 一模一样的助手函数,但增加了命名空间,故使用时,可以按照以下方式
<?php use function Illuminate\Cache\cache; cache()->put('xxx', 'yyy');