Boda Cydo wrote: > Hello, > > I have a problem that I don't know how to approach. Here it is: > > Suppose I have a mapped class `Article` and I have a mapped class > `Author`. `Article.author` is a relation on `Author` that returns the > author of the `Article`. How do I make `Article.author` to cache the > value in memcached?
Use the "beaker caching" recipe introduced at: http://www.sqlalchemy.org/docs/examples.html#module-beaker_caching > > The problem is that referring to `Article.author` does an SQL query > each time it is called, but there is really no need to query the > database for author every single time. > > This value can be cached in memcached and returned instantly from > memory. > > What I can't figure out is how to cache the value of relation in > SQLAlchemy? > > I could create another property, like `Article.cached_author` which > would first consult memcached for key `article_<id>_author`, and if > it's not there, call `Article.author`, and store this value value in > memcached. > > But I don't want to invent new names for my properties. > > Can anyone help me figure out how to use the SQLAlchemy relation > property names and still cache them with memcached? > > > Thanks, Boda Cydo. > > Ps. Some people have said that SQLAlchemy caches the values already, > but that is not true! It caches the value **within a single session** > but I am talking here about tens of sessions using my program > simultaneously. > > Pss. Please also don't assume that I have single property > `Article.author`, I have various properties, like `Article.keywords` > that returns a long list of keywords associated with Article. If I > don't cache the values returned by accessing these properties, the > application will soon kill the computer it is running on because of > requesting the same data over and over and over again from the > database. > > -- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To post to this group, send email to sqlalch...@googlegroups.com. > To unsubscribe from this group, send email to > sqlalchemy+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/sqlalchemy?hl=en. > > -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalch...@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.