Il s'agit d'un scénario typique d'utilisation de la mise en cache. En fonction de la solution technique que vous utilisez, plusieurs points doivent être pris en compte :
Puisque vous choisissez mongodb, votre scénario de requête doit essayer d'utiliser une clé pour obtenir les données de l'ensemble du document. Ce type de requête est ce pour quoi mongodb est le meilleur et ne nécessite théoriquement aucune optimisation supplémentaire.
Si vous avez plusieurs requêtes pour obtenir les résultats souhaités, à l'exception de la situation ci-dessus, vous pouvez envisager d'utiliser le cache. Maintenant, je pense que l'utilisation de Redis est plus flexible que Memcached. Étapes plus spécifiques :
(1) Pour chaque requête, allez d'abord dans le cache pour voir s'il y a déjà une valeur
(2) Sinon, utilisez vos conditions de requête comme clé selon certaines règles, les résultats de la requête comme valeur, stockez-les dans le cache et renvoyez les résultats de cette requête.
(3) Retourner directement s'il y en a un (le contrôle des pannes de cache doit être effectué en fonction des besoins métier, comme la période de validité ou les nouvelles écritures)
"Stockez d'abord le contenu spécifique dans memcache, puis obtenez les données correspondantes de memcache via la valeur d'index obtenue à partir de la base de données lors de la requête ;" Je ne comprends pas bien cette phrase. Les données doivent-elles être enregistrées dans le cache ? S'il est en panne, les données ont disparu.
Je ne sais pas quelle est l'activité de l'affiche. Mongodb est une base de données hybride. Même Mongodb a également une partie de base de données en mémoire. Mongodb n'est pas un mauvais goulot d'étranglement en écriture, donc l'activité de lecture doit être placée dans un environnement pur. base de données en mémoire comme redis. Ne serait-il pas préférable de sauvegarder l'entreprise directement dans mongo sans avoir à s'en soucier ?
Il s'agit d'un scénario typique d'utilisation de la mise en cache. En fonction de la solution technique que vous utilisez, plusieurs points doivent être pris en compte :
(1) Pour chaque requête, allez d'abord dans le cache pour voir s'il y a déjà une valeur
(2) Sinon, utilisez vos conditions de requête comme clé selon certaines règles, les résultats de la requête comme valeur, stockez-les dans le cache et renvoyez les résultats de cette requête.
(3) Retourner directement s'il y en a un (le contrôle des pannes de cache doit être effectué en fonction des besoins métier, comme la période de validité ou les nouvelles écritures)
"Stockez d'abord le contenu spécifique dans memcache, puis obtenez les données correspondantes de memcache via la valeur d'index obtenue à partir de la base de données lors de la requête ;" Je ne comprends pas bien cette phrase. Les données doivent-elles être enregistrées dans le cache ? S'il est en panne, les données ont disparu.
Je ne sais pas quelle est l'activité de l'affiche. Mongodb est une base de données hybride. Même Mongodb a également une partie de base de données en mémoire. Mongodb n'est pas un mauvais goulot d'étranglement en écriture, donc l'activité de lecture doit être placée dans un environnement pur. base de données en mémoire comme redis. Ne serait-il pas préférable de sauvegarder l'entreprise directement dans mongo sans avoir à s'en soucier ?