And finally a great post from Heroku about using their caching:
http://devcenter.heroku.com/articles/http-caching

- Matt

On Sat, Jul 9, 2011 at 12:00 PM, Matt Aimonetti <[email protected]>wrote:

> I forgot one small thing, when your user logs out, don't forget to delete
> his/her username:  cookies.delete('username')
>
> - Matt
>
>
> On Sat, Jul 9, 2011 at 11:45 AM, Matt Aimonetti 
> <[email protected]>wrote:
>
>> The best article I read was this one:
>> http://tomayko.com/writings/things-caches-do   It really explains well
>> how caching works.
>>
>> Quick and dirty list of controller helpers for Rails:
>>
>> @cinema = Cinema.find(params[:id])
>> if stale?(:last_modified => @cinema.updated_at.utc, :etag => @cinema)
>>  expires_in 5.minutes, :public => true
>> end
>>
>> guide:
>> http://guides.rubyonrails.org/caching_with_rails.html#conditional-get-support
>>
>> For the JS it's quite straight forward, a good example would be:
>> http://theshownation.com/ (look at the JS source and the DOM)
>>
>> Here is the part you care about: https://gist.github.com/1073832
>> You can't use the session since the page is cached, so instead what you do
>> is when the user logs in, you set another cookie with the username for
>> instance.
>> In your controller it would like something like:  cookies[:username]
>> session[:username]
>> Then when the DOM is loaded, you call a handler function such as
>> handleCachedUserLinks() in the example above.
>> The handler gets the username from the cookie and then changes the DOM
>> accordingly and makes an ajax call to get the extra data needed if it's not
>> stored in the cookie.
>>
>> You should start by doing the JS part and once you have that up and
>> running, turn on the caching (literally 2 or 3 lines of code per action
>> max). In dev mode, if you don't want to setup nginx + varnish, you can use
>> rack-cache.
>>
>> I hope that helps,
>>
>> - Matt
>>
>>
>> On Sat, Jul 9, 2011 at 10:00 AM, Patrick Crowley <[email protected]>wrote:
>>
>>> Hey, folks.
>>>
>>> I'm adding varnish-based caching support to my app.
>>>
>>> If this is going to work, though, I need to update our user greeting to
>>> work via javascript so we can dynamically add the user greeting to the
>>> static logged-out version of our pages that we're caching.
>>>
>>> Do you know any good blog posts or docs for this?
>>>
>>> Here are a few more details about the app:
>>> - Rails 2.3.10 on Ruby 1.8.7
>>> - Clearance for authentication
>>> - Hosted on Heroku
>>>
>>> Cheers,
>>> Patrick
>>>
>>> --
>>> SD Ruby mailing list
>>> [email protected]
>>> http://groups.google.com/group/sdruby
>>
>>
>>
>

-- 
SD Ruby mailing list
[email protected]
http://groups.google.com/group/sdruby

Reply via email to