Partage
  • Partager sur Facebook
  • Partager sur Twitter

systeme de cache pour Symfony

    13 mai 2022 à 18:13:00

    Bonjour,

    pour vous quelle est la meilleure façon de mettre en cache des fonctions? ApcuAdapter est une bonne solution (sans configuration)? Et j'ai l'impression pour les requêtes doctrine (query) il n'y a pas besoin de mettre en cache (est que cela est utile https://www.doctrine-project.org/projects/doctrine-orm/en/2.11/reference/caching.html#query-cache ?) 

    J'utilise par exemple ceci pour mettre en cache une function :

    $cache = new ApcuAdapter();
            $cache->get('my_cache_key', function (ItemInterface $item) {
                $item->expiresAfter(3600);
                return $this->longue();
            });

    mais j'ai l'impression que ceci est pareil : 

    public function cacheInterface(CacheInterface $cacheInterface): Response
        {
            $cacheInterface->get('test', function(ItemInterface $item){
                $item->expiresAfter(3600);
                return $this->longue();
            });
            return $this->render('cache/index.html.twig');
        }


    public function longue(): string
        {
            sleep(3);
            return "test";
        }


    mais par exemple pour 

    $this->postRepository->findAll()

    j'ai l'impression que doctrine met en cache automatiquement. Est ce que c'est grace a ceci "symfony/cache": "5.4.*",


    Merci a vous !

    • Partager sur Facebook
    • Partager sur Twitter
      15 mai 2022 à 6:01:57

      Hello,

      Alors oui Doctrine te donne la possibilité de mettre en cache les requêtes et c'est tant mieux! Bien sur, il faut adapter peut être la durée en fonction de ton besoin mais ca fait gagner beaucoup de temps sur des grosses requêtes!

      Après, mettre en cache des fonctions je connaissais pas mais le résultat d'une fonction c'est mieux :p (troll)

      C'est aussi quelque chose de très pratique en effet quand tu as souvent le même résultat.

      Par exemple, dans mon job actuel, j'ai du mettre en cache le calcul de distance par route pour éviter de faire trop d'appel à une API qui au final revient cher.

      Quand au cache utilisé, je prend l'officiel de Symfony + REDIS actuellement.

      • Partager sur Facebook
      • Partager sur Twitter
      $2b||!$2b
        17 mai 2022 à 15:41:21

        Oui merci pour la réponse, je vais regarder REDIS ça à l'air efficace
        • Partager sur Facebook
        • Partager sur Twitter

        systeme de cache pour Symfony

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown