named_scope and caching?

Like many I was excited about the named_scope stuff being rolled into
Rails 2.1, but now that I try and go through and replace some of my
self.find-like methods into named_scopes I am encountering a
problem... how do I cache them?

I have a rather large dataset so I try and cache as much as possible.
To that end I have this:

  def self.global_lists
    ::Rails.cache.fetch("global_lists")
{ FilmList.find(:all, :conditions => ["user_id is null"])}
  end

Immediately I can see that I could write:

  named_scope :global_lists_ns, :conditions => {:user_id => nil}

but, how can I cache this apart from wrapping it in a self. method and
having now:

  def self.global_lists
    ::Rails.cache.fetch("global_lists") { FilmList.global_lists_ns}
  end

Which means I have functionality in two places (arguably ok as I could
use one to access the db and one to access the cache).

Any ideas? Or is this what it is supposed to be like?