Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] Django problema con memcached

Estas en el tema de Django problema con memcached en el foro de Python en Foros del Web. hola estoy creando un sistema de commentarios con django y memcached y mi pregunta seria su puedo hacer cache por cada articulo que tenga guardado ...
  #1 (permalink)  
Antiguo 22/04/2013, 16:58
 
Fecha de Ingreso: diciembre-2011
Mensajes: 408
Antigüedad: 12 años, 3 meses
Puntos: 18
Django problema con memcached

hola estoy creando un sistema de commentarios con django y memcached y mi pregunta seria su puedo hacer cache por cada articulo que tenga guardado en la base de datos y si esto hara que la memoria de mi vps colapse
  #2 (permalink)  
Antiguo 22/04/2013, 19:00
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Django problema con memcached

Así no funciona el cache.

El cache trabaja en función a lo siguiente: tiempo de expiración, limite de memoria por registro y limite total de memoria. Lo demás es automático.

Obviamente solamente no le asignes mas memoria de la que tienes libre en tu vps para que no colapse.
  #3 (permalink)  
Antiguo 22/04/2013, 19:05
 
Fecha de Ingreso: diciembre-2011
Mensajes: 408
Antigüedad: 12 años, 3 meses
Puntos: 18
Respuesta: Django problema con memcached

una pregunta estoy usando django cache machine pero no veo que haga cache de las consultas sql por ejemplo tengo este modelo

Código:

from caching.base import CachingMixin,CachingManager
#encoding:utf-8
class BlogComments(CachingMixin,MPTTModel):
  #relationship
  user= models.ForeignKey(User,verbose_name=_('User autor'),related_name='blog_comments_autor', null=True,blank=True)
  notice = models.ForeignKey('BlogNotice', blank=True,null=True,verbose_name=_('Blog Notice'))
  parent = TreeForeignKey('self', verbose_name=_('Parent'), related_name='blog_comments_parent',blank=True, null=True, on_delete=models.CASCADE)
  #basic
  email = models.CharField(_('Email'),max_length=512,blank=True,null=True)
  publish = models.BooleanField(_('Published'),default=1)
  comment =  models.TextField(_('Comment'),max_length=512,blank=True,null=True)
  #hidden
  created = models.DateTimeField(_('Created'),editable=False,auto_now=True)
  modified = models.DateTimeField(_('Modified'),editable=False,auto_now=True)

  objects = CachingManager()
  
  class MPTTMeta:
    order_insertion_by = ['comment']
  
  def __unicode__(self):
    return self.notice.title
  
  class Meta:
    verbose_name = _('Comment')
    verbose_name_plural = _('Comments')
    db_table = 'blog_notices_comments'
    app_label= 'blog'
no veo la forma de ver como hacer funcionar el sistema de cache
  #4 (permalink)  
Antiguo 22/04/2013, 20:39
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Django problema con memcached

Y en settings.py lo estas configurando?

Si estas usando django 1.4 puedes usar http://pythonhosted.org/johnny-cache/
  #5 (permalink)  
Antiguo 23/04/2013, 11:43
 
Fecha de Ingreso: diciembre-2011
Mensajes: 408
Antigüedad: 12 años, 3 meses
Puntos: 18
Respuesta: Django problema con memcached

si espera ya te muestro

Código:
CACHE_COUNT_TIMEOUT = 360 
CACHE_EMPTY_QUERYSETS = True

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
    }
}
  #6 (permalink)  
Antiguo 23/04/2013, 12:17
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Django problema con memcached

¿Como sabes que no esta funcionando?
¿Que estas obteniendo? ¿Que esperas obtener?
¿Algún código del queryset que estas ejecutando?
¿Te arroja un error, si así puedes poner el error y el stacktrace?
  #7 (permalink)  
Antiguo 23/04/2013, 21:03
 
Fecha de Ingreso: diciembre-2011
Mensajes: 408
Antigüedad: 12 años, 3 meses
Puntos: 18
Respuesta: Django problema con memcached

por ejemplo estoy usando django debug toolbar y aparece que esta ejecutando los querys pero la verdad no me muestra ningun error lo que si veo es que se ejecuta mas rapido pero no se
  #8 (permalink)  
Antiguo 23/04/2013, 23:47
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Django problema con memcached

Cachea un modelo sencillo.

Trata de poner un tiempo de expiración largo para que veas lo que ocurre. Ve a la db e inserta un nuevo registro. (Haz esto desde la db no uses los objetos django, ni la consola de django para esto). Y no quites tu aplicación.

Una vez que hayas insertado el registro (no olvides el commit), ve a tu aplicación actualiza la pagina donde despliegas los registros y vas a ver que tu registro que metiste desde la db no esta. Por que los datos que tienes son del cache. Ojo ya debiste de haber actualizado al menos una vez la pagina para que el cache inicie antes de iniciar todo el proceso.

Otra posible solución es ver si realmente corre esa queries en la db con la ayuda de los logs.
  #9 (permalink)  
Antiguo 24/04/2013, 22:22
 
Fecha de Ingreso: diciembre-2011
Mensajes: 408
Antigüedad: 12 años, 3 meses
Puntos: 18
Respuesta: Django problema con memcached

ok dejame probar pero como hago para activar los logs
  #10 (permalink)  
Antiguo 26/04/2013, 15:48
 
Fecha de Ingreso: diciembre-2011
Mensajes: 408
Antigüedad: 12 años, 3 meses
Puntos: 18
Respuesta: Django problema con memcached

al parecer no funciona he agregado el registro desde la base de datos y no hace cache de la consulta porque pasa esto sera que tengo mal configurado el plugin estoy usando django 1.5
  #11 (permalink)  
Antiguo 26/04/2013, 16:59
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Django problema con memcached

Probablemente lo tengas mal configurado.

Otra opción es correr memcached en verbose mode y ver si esta haciendo algo.

http://stackoverflow.com/questions/6...doing-anything
  #12 (permalink)  
Antiguo 27/04/2013, 14:31
 
Fecha de Ingreso: diciembre-2011
Mensajes: 408
Antigüedad: 12 años, 3 meses
Puntos: 18
Respuesta: Django problema con memcached

ya esta es que habia cacheado hasta el debug toolbar hahahaha

Etiquetas: django
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:42.