listy-django-cache

Software captura de pantalla:
listy-django-cache
Detalles de software:
Versión: 0.9.0
Fecha de carga: 11 May 15
Promotor: Wavii, Inc.
Licencia: Libre
Popularidad: 0

Rating: 4.0/5 (Total Votes: 1)

listy-django-cache es un mecanismo de caché determinista para proyectos de Django. & Nbsp; Se intentará mantener el caché en sincronización con la base de datos mediante la actualización durante los cambios de lugar de depender de los tiempos de espera. Como indica el nombre, Listy soporta visualizar listas de objetos.
Instalar
& Nbsp; pip install listy-django-cache
Uso
Usando Listy es tan simple como la sustitución de la gerente de modelo por defecto con un CachingManager y dotándolo de la lista de claves que tendrá que consultar con.
En este ejemplo artificioso, puedo mirar hacia arriba sobre la base de pk, sólo el seguidor, o tanto el seguidor y followee:
listy importación
Siga clase (models.Model):
& Nbsp; # Configurar esta caché para apoyar las operaciones de búsqueda por "pk" o "seguidor"
& Nbsp; objetos = listy.CachingManager ([('pk',), ('seguidor',), ('seguidor', 'followee')])
& Nbsp; creado = models.DateTimeField (auto_now_add = True)
& Nbsp; seguidor = models.ForeignKey ("Usuario", related_name = 'sigue')
& Nbsp; followee = models.ForeignKey ("Usuario", related_name = 'seguidores')
# Siga a alguien
Follow.cache.add (seguidor = yo, followee = usted)
# Dejar de seguir a alguien
Follow.cache.delete (seguidor = yo, followee = usted)
# Obtener los usuarios que sigo
Follow.cache.get (seguidor = yo)
# Obtén si te sigo
Follow.cache.get (seguidor = yo, seguidor = usted)
# Obtener los recuentos para los usuarios que sigo
partir de la fecha de importación de fecha y hora, timedelta
desde dateutil.rrule RRULE importación, diaria, semanal, mensual, anual
inicio, final = date.today () - timedelta (días = 100), date.today ()
Follow.cache.daily_counts (creada = RRULE (DIARIO, dtstart = comienzan, hasta finales =))
Se puede ver un conjunto completo de ejemplos en test_django_app / almacenamiento en caché / tests.py.
Argumentos a CachingManager:
- Cachés - una lista de tuplas que describen los campos que deben ser claves en la memoria caché
- Soft_delete_field - el nombre del campo de borrado que se puede utilizar para eliminar los objetos sin tener que sacarlos de la base de datos si esta función es compatible con el modelo (por defecto ninguno)
- Deleted_timestamp_field - el nombre del campo que debe ser establecido en una fecha y hora cuando se elimina un objeto (por defecto ninguno)
- Enabled_field - el nombre del campo que define si un objeto está habilitado o no, este es tratado como un delete que no se puede deshacer en circunstancias normales (por defecto ninguno)
- Timestamp_field - el nombre del campo que posee la marca de tiempo que se utilizará para los contadores (por defecto ninguno)
- Disable_cache - desactivar el almacenamiento en caché, se puede utilizar para la depuración (por defecto Falso)
- Dirección - una función que devuelve la dirección de la memcache (por defecto 127.0.0.1:11211)
- Filter_out_soft_deletes - tratan eliminaciones suaves como verdaderos eliminaciones, filtran hacia fuera al volver listas (predeterminado True)
La lista de tuplas definidos por el argumento cachés es el corazón de este mecanismo de almacenamiento en caché. A través de ella se define lo que se enumeran los objetos que queremos en caché y actualizada, y cómo vamos a acceder a esas listas

Características .

  • Muy fácil de usar
  • determinista
  • Acceso rápido a las listas de cosas
  • Packs datos en forma compacta (discos más pequeños van desde alrededor de 1k a 10s de bytes)
  • deserialización bajo demanda
  • El uso de comandos de anteponer memcache para una rápida añade
  • Realiza un seguimiento del total, anualmente, los recuentos mensuales, semanales y diarios para cada lista en caché
  • Opcional registro de objetos por-petición
  • Soporte opcional para eliminaciones suaves

Requisitos

  • Python
  • Django

Comentarios a la listy-django-cache

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!