irooit/i-cache

Illuminate Cache for Hyperf

v3.1.0 2023-04-17 08:46 UTC

This package is auto-updated.

Last update: 2024-03-17 10:57:22 UTC


README

illuminate/cache

安装

composer require irooit/i-cache

配置

创建配置文件

php bin/hyperf.php vendor:publish irooit/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', 'hyperf'), '_') . '_cache'),
];

使用

文档地址 https://learnku.com/docs/laravel/8.x/cache/9389

助手函数

本组件实现了与 Laravel 一模一样的助手函数,但增加了命名空间,故使用时,可以按照以下方式

<?php
use function Illuminate\Cache\cache;

cache()->put('xxx', 'yyy');