prices google for flexible features engine docs app google-app-engine session memcached

google-app-engine - for - google cloud app engine prices



¿Cómo implementar efectivamente las sesiones en GAE? (3)

Me preguntaba si podría implementar mis propias sesiones (más para un ejercicio que cualquier otra cosa) para una aplicación de GAE con la que estoy trabajando ... al principio estaba pensando en usar el almacén de datos para almacenar los datos de la sesión. Sin embargo, cada vez que se necesita agregar algo a la sesión ''cubo'', sería necesario guardarlo en el almacén de datos. Obviamente eso es malo, ya que queremos minimizar nuestras escrituras. Luego pensé en usar Memcache ... parecía una buena idea, pero luego nos enfrentamos a problemas de posible corrupción en la sesión debido a que Memcache fue "desalojado por la presión de la memoria" de Google. Entonces, eso significa que nos quedan solo las siguientes opciones:

  1. Almacenar todos los datos de la sesión en las cookies
  2. Escribir todos los datos de la sesión en el almacén de datos y Memcache, y luego solo leer desde Memcache

¿Alguien tiene alguna otra idea?


Si usa web2py (versión 1.46 o posterior), las sesiones están activadas por defecto en GAE. Esto se logra mediante las siguientes tres líneas de código web2py en la parte superior del modelo de scaffoling:

from gluon.contrib.gql import * db=GQLDB() session.connect(request,response,db=db)

Aquí hay una acción de muestra que cuenta:

def index(): session.c=session.c+1 if session.c else 1 return dict(counter=session.c)



Sugiero verificar (y contribuir a) estas tres implementaciones de sesiones appengine antes de implementar la suya propia:

Sus opciones se ven bien, pero elegir entre ellas probablemente depende del tamaño de los datos de la sesión en su aplicación.