Re: [SQLObject] load balancing and SQLObject cache
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
From: Oleg B. <ph...@ph...> - 2011-07-19 13:31:01
|
On Tue, Jul 19, 2011 at 09:39:55AM -0300, Егор Следов wrote: > It does not seem to work. When I set cache to 0 and debug to 1 in uri > > DB URI ('postgres://host/db?cache=0&debug=1') > > f = db.Person.get(5) > print f.name > f1 = db.Person.get(5) > print f1.name > > I don't see second select to the database on second get. > Apparently, the value is fetched from expiredCache. > > Any suggestions? > > Thank you. Expired cache stores weak references. I.e. while the program is holding a (non-weak) reference to a row the cache will return the same row. The moment you free the last reference to the row the expired cache is cleared and next time you will get a new row. Get rid of f before getting f1: del f or f = None will do. Oleg. -- Oleg Broytman http://phdru.name/ ph...@ph... Programmers don't die, they just GOSUB without RETURN. |