recherche

Maison  >  Questions et réponses  >  le corps du texte

什么样的场景下需要同时使用Redis和Memcached?

如题,见过一些工程同时使用Redis和Memcached,感觉这样很麻烦。
如果不是早期使用Memcached且难以移植到Redis,还有没有其他可能性?

天蓬老师天蓬老师2763 Il y a quelques jours683

répondre à tous(4)je répondrai

  • 高洛峰

    高洛峰2017-04-22 09:01:06

    Voici comment l'utilisait l'ancienne usine :

    • Les données d'entité telles que les informations utilisateur sont stockées dans Memcached avec protobuf encodage, avec une date d'expiration d'une semaine, en tant que cache de deuxième niveau de MySQL
    • Les données de la liste, telles que la liste d'abonnements de l'utilisateur, sont stockées dans Redis et les données correspondantes sont également sauvegardées par MySQL. Cependant, si Redis ne peut pas les lire, elles ne seront plus lues dans MySQL
    • .

    Résumé :

    • Redis possède des structures de données riches et convient au stockage d'ensembles, de listes ou de tables ordonnées
    • Redis ne disposait pas d'une solution distribuée relativement complète à l'époque, nous avons donc essayé de ne pas stocker de données d'entités volumineuses (bien sûr, à mesure que le nombre d'utilisateurs augmentait considérablement, nous avons ensuite implémenté une pseudo-distribution à l'aide de clés de hachage)
    • memcached est relativement simple et plus rapide que Redis, et convient au stockage des données d'entité. Cependant, le problème rencontré à l'époque était que l'empaquetage et l'analyse de json deviendraient un goulot d'étranglement, donc plus tard nous sommes tous passés à <. 🎜> protobuf
    • répondre
      0
  • 天蓬老师

    天蓬老师2017-04-22 09:01:06

    Lorsque vous devez prendre en charge plus de types de données en plus de la clé/valeur ou lorsque les données stockées ne peuvent pas être éliminées, il est plus approprié d'utiliser Redis. Et si vous vous contentez simplement de mettre en cache des données, il est évidemment plus approprié d'utiliser memcached. En d’autres termes, en comparaison, Redis est plus adapté au stockage, tandis que Memcache est plus adapté à la mise en cache.

    répondre
    0
  • 巴扎黑

    巴扎黑2017-04-22 09:01:06

    Tout ce qui a besoin de 频繁查询 et 变化频率不是太高 est là où ces deux-là sont utiles

    répondre
    0
  • 巴扎黑

    巴扎黑2017-04-22 09:01:06

    Quelqu'un sur stackoverflow a posé cette question "Memcached est-il un dinosaure par rapport à Redis ?", et l'auteur de redis a donné la réponse (http://stackoverflow.com/questions/2873249/is-memcached-a-dinosaur- en comparaison avec Redis). Dans l’ensemble, les performances des deux sont très bonnes, il n’y a donc pas lieu de s’inquiéter de savoir lequel a les performances les plus élevées. Cependant, les mécanismes de persistance et de synchronisation des données fournis par Redis ne sont pas disponibles dans Memcached, donc si vous souhaitez de la persistance, vous ne pouvez utiliser que Redis. De plus, memcached est suffisant pour un simple stockage clé-valeur, mais si vous souhaitez utiliser des structures de données plus avancées, telles que hachage, liste, set, zset, etc., redis fournit ces types, qui sont plus pratiques à utiliser.

    répondre
    0
  • Annulerrépondre