NoSQL

Selon les besoins, il est possible d'utiliser des bases de données NoSQL (base de données non relationnelles).

Dans les raisons qui peuvent pousser à utiliser une base de données NoSQL, on peut citer :

  • besoin de scalabilité horizontale (ajout de serveurs pour augmenter la capacité de la base de données) :
    • MongoDB, CouchDB, Cassandra, etc.
  • besoin de flexibilité dans le schéma de la base de données :
    • MongoDB, CouchDB, etc.
  • besoin de performances élevées pour des opérations de lecture/écriture simples (cache, etc..) :
    • Redis, etc.

Redis

Exemple d'utilisation de Redis comme cache pour une application web en python.

import redis

# Connexion à Redis
rconn = redis.Redis(host='localhost', port=6379, db=0)


@route('/vue_lourde_a_afficher')
def vue_lourde():
    
    # Vérification si le résultat est déjà en cache
    result = rconn.get('clef_cache_vue_lourde')
    if result is None:
        # Si le résultat n'est pas en cache, on effectue le calcul
        result = calcul_lourd()
        # On met le résultat en cache pour 10 minutes
        rconn.setex('clef_cache_vue_lourde', 600, result)
    return result