Return-Path: Delivered-To: apmail-httpd-dev-archive@www.apache.org Received: (qmail 17548 invoked from network); 1 May 2006 20:19:34 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 1 May 2006 20:19:34 -0000 Received: (qmail 57053 invoked by uid 500); 1 May 2006 20:19:30 -0000 Delivered-To: apmail-httpd-dev-archive@httpd.apache.org Received: (qmail 56994 invoked by uid 500); 1 May 2006 20:19:30 -0000 Mailing-List: contact dev-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list dev@httpd.apache.org Received: (qmail 56983 invoked by uid 99); 1 May 2006 20:19:30 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 May 2006 13:19:30 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [200.152.209.226] (HELO server2.hospedaria.com.br) (200.152.209.226) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 01 May 2006 13:19:28 -0700 Received: from dali.haxent (201-40-213-200.ctaje700.dsl.brasiltelecom.net.br [201.40.213.200]) (authenticated bits=0) by server2.hospedaria.com.br (8.12.8/8.12.8) with ESMTP id k41KIsHU011254; Mon, 1 May 2006 17:18:54 -0300 Received: from unknown (localhost.localdomain [127.0.0.1]) by dali.haxent (Postfix) with SMTP id 174C98AF034; Mon, 1 May 2006 17:18:57 -0300 (BRT) Date: Mon, 1 May 2006 17:18:53 -0300 From: Davi Arnaut To: dev@httpd.apache.org Cc: brian.akins@turner.com Subject: Re: Possible new cache architecture Message-Id: <20060501171853.8fd9164a.davi@haxent.com.br> In-Reply-To: <445665B2.3010604@turner.com> References: <4450CF63.2060305@turner.com> <445136CC.6030305@sharp.fm> <44520B45.6070507@turner.com> <4455203F.9000509@sharp.fm> <44560316.3030705@turner.com> <445664B1.5030905@sharp.fm> <445665B2.3010604@turner.com> X-Mailer: Sylpheed version 2.2.4 (GTK+ 2.6.10; i686-pc-mingw32) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N On Mon, 01 May 2006 15:46:58 -0400 Brian Akins wrote: > Graham Leggett wrote: > > > That's two hits to find whether something is cached. > > You must have two hits if you support vary. > > > How are races prevented? > > shouldn't be any. something is in the cache or not. if one "piece" of > an http "object" is not valid or in cache, the object is invalid. > Although other variants may be valid/in cache. > More important, if we stick with the key/data concept it's possible to implement the header/body relationship under single or multiple keys. I think Brian want's mod_cache should be only a layer (glue) between the underlying providers and the cache users. Each set of problems are better dealt under their own layers. The storage layer (cache providers) are going to only worry about storing the key/data pairs (and expiring ?) while the "protocol" layer will deal with the underlying concepts of each protocol (mod_http_cache). The current design leads to bloat, just look at mem_cache and disk_cache, both have their own duplicated quirks (serialize/unserialize, et cetera) and need special handling of the headers and file format. Under the new design this duplication will be gone, think that we will assemble the HTTP-specific part and generalize the storage part. -- Davi Arnaut