On Tue, Jul 19, 2011 at 12:21:32AM -0300, Егор Следов wrote: > I have a web application with two load-balanced webservers and a separate > postgres database server. > > When SQLObject instance is updated, the update is processed randomly through > either of the servers. > Sometimes user does the update on one server, and immediately opens object > for reading on another. > So, if caching is on, it looks like database is not getting updated. > > If I turn caching off by setting sqlmeta.cacheValues to False, then call to > each and every property issues a separate SQL select, and this slows > everything down a lot. > > What would be the right approach to minimize number of selects on a single > webpage? > Keeping cache on, but calling object.expire(), object.another.expire() after > referencing any properties? Trying to lower cullFrequency parameter of cache?
In SQLObject there are three ways of caching - attribute caching (governed by sqlmeta.cacheValues), row caching (governed by connection.cache), and update caching (governed by sqlmeta.lazyUpdates). What you probably want is to stop row caching - every time the programs fetches a row it asks the database, not the cache. So leave sqlmeta.cacheValues and sqlmeta.lazyUpdates alone (their default values are good for you) and set connection.cache.doCache=False. You can do it from DB URI ('postgres://host/db?cache=0'); if the program opens connection without an URI the parameter for PostgresConnection is cache=False. Oleg. -- Oleg Broytman http://phdru.name/ p...@phdru.name Programmers don't die, they just GOSUB without RETURN. ------------------------------------------------------------------------------ Magic Quadrant for Content-Aware Data Loss Prevention Research study explores the data loss prevention market. Includes in-depth analysis on the changes within the DLP market, and the criteria used to evaluate the strengths and weaknesses of these DLP solutions. http://www.accelacomm.com/jaw/sfnl/114/51385063/ _______________________________________________ sqlobject-discuss mailing list sqlobject-discuss@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss