複数のタグを持つLaravelフラッシュキャッシュ

ペポテ

Laravel 5.2でRedisキャッシュを使用しており、年とソースの2つのタグ(基本的に)が付いたキーを持っています。

例:

$this->cache->tags(['online', 2016])->put("key1", $value1, 10));
$this->cache->tags(['online', 2016])->put("key2", $value2, 10));
$this->cache->tags(['online', 2017])->put("key3", $value3, 10));
$this->cache->tags(['online', 2017])->put("key4", $value4, 10));

$this->cache->tags(['database', 2016])->put("key5", $value5, 10));
$this->cache->tags(['database', 2016])->put("key6", $value6, 10));
$this->cache->tags(['database', 2017])->put("key7", $value7, 10));
$this->cache->tags(['database', 2017])->put("key8", $value8, 10));

2016年とオンラインのタグのキャッシュをフラッシュしたい。

これを使用する$this->cache->tags(['online', 2016])->flush();ことがですべてをフラッシュしますどのすなわち、タグの、いずれかonline または 2016(この場合はKEY1、KEY2、KEY3、KEY4、KEY5、KEY6)。

私は含めて削除すべてにしたいすべてのタグ、すなわち、両方 online2016(この場合の唯一KEY1とKEY2)

外典

したがって、これには少し掘り下げが必要でしたが、ここに評決があります。

はい、これは技術的に可能です(可能限り最高の種類ですか?)

まず、RedisTaggedCache(redisでのタグ付けの実装を担当する)は、すべてのタグメンバーキーをredisセットに格納します。それがどこにあるかを発見する方法と、すべてのキーを取得する方法は次のとおりです。

function getAllTagKeys($cache,$tags) {
    $tagStore = new TagSet($cache->getStore(),$tags);
    $key = "<prefix>:{$tagStore->getNamespace()}:". RedisTaggedCache::REFERENCE_KEY_STANDARD;//use REFERENCE_KEY_FOREVER if the keys are cached forever or both one after the other to get all of them
    return collect($cache->getRedis()->smembers($key));
}

次に、次のことができます。

getAllTagKeys($this->cache, ["online"])
    ->insersect(getAllTagKeys($this->cache, ["2016"]))
    ->each(function ($v) {
         $this->cache->getRedis()->del();
     });

これはこれを行うための恐ろしい方法のように見えます。おそらく、Laravelに機能リクエストを送信する方が賢明です。これは、公開すべきもののように見えるからです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

複数のキャッシュを持つServiceWorker

分類Dev

symfony 4ルーティング:複数のスラッシュを持つ複数のパラメーター?

分類Dev

2つのリストをフラッターにキャッシュする

分類Dev

複数の引数(表形式のデータなど)を持つクエリのApolloキャッシュ更新を処理する方法

分類Dev

複数のパラメーターの一意のキー(キャッシュキー)を作成する

分類Dev

グーグルグアバキャッシュのキー以外のパラメータを2つ渡す方法

分類Dev

複数の値を持つRubyハッシュキー:最小値をタイムリーに返します

分類Dev

同じキーを持つ複数のハッシュをハッシュの配列にグループ化する方法

分類Dev

複数のメッシュを持つモデルのvao管理

分類Dev

URLパラメーターを作成するための重複キーを持つRubyハッシュ

分類Dev

複数のキャッシュセレクターの.removeClass

分類Dev

キャッシュされたスレッドを持つ単一スレッドのエグゼキューター

分類Dev

移行ファイルからカタログ画像キャッシュをフラッシュする

分類Dev

搬送波キャッシュ複数のファイル

分類Dev

スプリングキャッシュ可能キーのメソッドで複数のパラメータを指定する方法

分類Dev

LinuxカーネルモジュールのCPUデータキャッシュをフラッシュする

分類Dev

Laravelキャッシュタグの実際の使用例

分類Dev

Laravelのフラグメントキャッシュはありますか?

分類Dev

Laravel4-結果のフィルタリングとキャッシュ

分類Dev

CodeIgniterで複数のキャッシュフォルダーを使用する方法

分類Dev

複数のコンシューマを持つJMSキュー

分類Dev

Jtableに1つのキーと複数の値を持つハッシュマップ?

分類Dev

キャッシュをフラッシュする方法

分類Dev

Angular $ cacheFactoryで複数のデータをキャッシュしますか?

分類Dev

Spring Cache:複数のキャッシュを削除する

分類Dev

SpringCacheで複数のキャッシュ実装を使用する

分類Dev

Spring Data StoreRedis-複数のキャッシュを使用する

分類Dev

複数のキャッシュのキャッシュの有効期限を点火します

分類Dev

Silverstripeキャッシュフラッシュが持続しない

Related 関連記事

  1. 1

    複数のキャッシュを持つServiceWorker

  2. 2

    symfony 4ルーティング:複数のスラッシュを持つ複数のパラメーター?

  3. 3

    2つのリストをフラッターにキャッシュする

  4. 4

    複数の引数(表形式のデータなど)を持つクエリのApolloキャッシュ更新を処理する方法

  5. 5

    複数のパラメーターの一意のキー(キャッシュキー)を作成する

  6. 6

    グーグルグアバキャッシュのキー以外のパラメータを2つ渡す方法

  7. 7

    複数の値を持つRubyハッシュキー:最小値をタイムリーに返します

  8. 8

    同じキーを持つ複数のハッシュをハッシュの配列にグループ化する方法

  9. 9

    複数のメッシュを持つモデルのvao管理

  10. 10

    URLパラメーターを作成するための重複キーを持つRubyハッシュ

  11. 11

    複数のキャッシュセレクターの.removeClass

  12. 12

    キャッシュされたスレッドを持つ単一スレッドのエグゼキューター

  13. 13

    移行ファイルからカタログ画像キャッシュをフラッシュする

  14. 14

    搬送波キャッシュ複数のファイル

  15. 15

    スプリングキャッシュ可能キーのメソッドで複数のパラメータを指定する方法

  16. 16

    LinuxカーネルモジュールのCPUデータキャッシュをフラッシュする

  17. 17

    Laravelキャッシュタグの実際の使用例

  18. 18

    Laravelのフラグメントキャッシュはありますか?

  19. 19

    Laravel4-結果のフィルタリングとキャッシュ

  20. 20

    CodeIgniterで複数のキャッシュフォルダーを使用する方法

  21. 21

    複数のコンシューマを持つJMSキュー

  22. 22

    Jtableに1つのキーと複数の値を持つハッシュマップ?

  23. 23

    キャッシュをフラッシュする方法

  24. 24

    Angular $ cacheFactoryで複数のデータをキャッシュしますか?

  25. 25

    Spring Cache:複数のキャッシュを削除する

  26. 26

    SpringCacheで複数のキャッシュ実装を使用する

  27. 27

    Spring Data StoreRedis-複数のキャッシュを使用する

  28. 28

    複数のキャッシュのキャッシュの有効期限を点火します

  29. 29

    Silverstripeキャッシュフラッシュが持続しない

ホットタグ

アーカイブ