Luego de mucho trabajar ya hallamos la contestación de este enigma que muchos lectores de esta web presentan. Si tienes algún detalle que compartir no dudes en aportar tu información.
Solución:
¿Cómo puedo administrar el almacenamiento en caché de mis dos sitios web en el mismo servidor sin el enfoque mencionado anteriormente?
Puedes usar diferentes key etiqueta para cada sitio web. Diga, nombre los dos sitios web como A
y B
. Para todos keys del sitio web A
dar a cada uno key a prefix(key etiqueta): A:
. Por otro lado, dale a cada uno key para sitio web B
otro prefix: B:
. De esta manera, usted puede tener un único key espacio de nombres para cada sitio web.
SET A:key1 val1
SET A:key2 val2
LPUSH B:key1 1
SADD B:key2 val
También verifique esta respuesta para más soluciones.
¿Alguien puede explicar el motivo en términos más simples de por qué se desaconseja el uso de múltiples redis db de la misma instancia de servidor?
AFAIK, la característica de múltiples bases de datos es NOdesanimado y obsoleto. Es un método para aislar key espacios de nombres para diferentes aplicaciones. Sin embargo, el autor de Redis Considere los errores múltiples de la base de datos de Redis como mi peor decisión en el diseño de Redis.ya que hace que los internos de Redis sean más complejos.
Redis es de un solo hilo, por lo que, en comparación con varias bases de datos, varias instancias de Redis pueden aprovechar varios núcleos. Si tiene varias bases de datos en una instancia de Redis, solo puede usar un núcleo. Además, la instancia de Redis en sí tiene poca huella de memoria, por lo que no necesita preocuparse por los costos de varias instancias de Redis.
Redis es muy rápido y normalmente el cuello de botella es el ancho de banda de la red, NO UPC. Por lo tanto, normalmente NO PUEDE obtener demasiada ganancia al usar varias instancias de Redis. Sin embargo, si una de sus aplicaciones necesita ejecutar algunos comandos lentos en Redis y no quiere que bloquee otras aplicaciones, puede tener una instancia de Redis separada para la lento aplicación y tener otra instancia de Redis para otros rápido aplicaciones
Tenga en cuenta también que Redis Cluster no admite varias bases de datos.
Personalmente, me gusta esta función de base de datos múltiple. Normalmente, si ejecuto una instancia de Redis, no Redis Cluster, colocaré mis datos en alguna base de datos que no sea la base de datos predeterminada, es decir, la base de datos 0, para evitar accidentalmente iniciar sesión en Redis y hacer algunas cosas horribles en la base de datos predeterminada.
No lo es. Si está creando una aplicación multiinquilino, compatible con varios sitios web, tiene sentido. Y si uno de los sitios web necesita escalar más rápidamente, puede configurar una instancia (o clúster) diferente para ese solo y la migración es mucho más simple.
Si conservas algún recelo o capacidad de avanzar nuestro ensayo puedes realizar un paráfrasis y con placer lo leeremos.