<div>Hi Gustavo, Thanks for your reply.</div><div><br></div><div>My assumption was that the the goal of caching was to avoid making the</div><div>same query more than once in a given transaction.</div><div><br></div><div>However, my (perhaps flawed) analysis after a bit of digging suggests</div>
<div>that this is not the case, and the caching model used in the storm</div><div>container is more about managing objects in memory that correspond to</div><div>table rows, and doing the right thing as far as their state is concerned</div>
<div>when dirty, etc...</div><div><br></div><div>Our application uses a SQL container model. I turned on logging on</div><div>the postgres backend, and saw that doing something like this inside</div><div>a transaction:</div>
<div><br></div><div>  obj1 = C['key1']</div><div>  obj1 = C['key1'] # and again</div><div><br></div><div>(that is to say, it seems that invoking __getitem__ twice), causes the</div><div>same SQL query to run twice. Please help me understand if I</div>
<div>understand this correctly. thanks!</div><br><div class="gmail_quote">On Thu, Mar 10, 2011 at 9:30 AM, Gustavo Niemeyer <span dir="ltr"><<a href="mailto:gustavo@niemeyer.net">gustavo@niemeyer.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi Roy,<br>
<div><div></div><div class="h5"><br>
> I would like to override the default cache behavior, so that I can<br>
> explicitly invalidate the cache, rather than have it be cleared on<br>
> each transaction commit. My use case is that I have a largely<br>
> read-only database, and don't want to pay the penalty for a query each<br>
> time. Has anyone worked on this problem? Is this a reasonable thing to<br>
> do?<br>
<br>
</div></div>This should be easy to handle by simply not committing/rolling back<br>
the store.  Just allow it to stay within the same transaction for the<br>
period you don't care about flushing the cache, and I believe it<br>
should all work well.<br>
<br>
Does that work for you?<br>
<font color="#888888"><br>
--<br>
Gustavo Niemeyer<br>
<a href="http://niemeyer.net" target="_blank">http://niemeyer.net</a><br>
<a href="http://niemeyer.net/blog" target="_blank">http://niemeyer.net/blog</a><br>
<a href="http://niemeyer.net/twitter" target="_blank">http://niemeyer.net/twitter</a><br>
</font></blockquote></div><br><br clear="all"><br>-- <br>Roy.<br>