Re: [PHP-PEAR] Output_Cache Module

[email protected] (Christian Stocker)
Newsgroups php.pear
Organization Nomad Online Agents
Message-ID <[email protected]>
Hi

After we have clarified some missunderstandings, we can come to the core
:)

As i wrote yesterday, I wrote two caching classes. one which caches the
entire output (the html-file, the visitor normally gets) into a db, the
other class into a file-system. they are far from perfect, but they work.
see http://www.nomad.ch/php for the sourcecode (there are .phps files
now....)

> - store data in a data container (shared
>   memory, DB, ...)

i have db and filesystem, no idea about shared memory. they are in two
different classes, to have it in one would be great :)

> - only store it if some conditions are
>   true (specific timestamp is reached,
>   caching data should be only valid for
>   X seconds etc.)

not yet, but is planned very soon.

> - ability to flush the cache explicitely

at the moment, just delete the cached file or the entry in the db.

> - retrieve the data from the container

does it.

> - provide an easy API to store datas of
>   various types (no matter if it is an
>   object, integer, hash or something else)

it only stores output generated between the start and end function. i use
the ob_ functions from php for that.

> - get the status of a data container ("valid",
>   "expired", "empty", ...)

not yet.

> - provide a mechanism to clearly identify
>   a data container, i.e. give it a unique
>   "label" for easy access. The API should
>   detect label conflicts, so for storing
>   the data it should use unique identifiers
>   (md5 or sth. like that) and "map" them to
>   the identifier that was given by the
>   software dev. who calls the API

md5 is used. an URI is the input. the md5 of it is stored.

>
> - provide a "server" mechanism with ext/sockets
>   so that if you use shm for example, all the
>   data is stored on a specific server and the
>   API pulls the containers from this server which
>   is listening on a socket port. This avoids having
>   the same datas on each machine if you use clustered
>   web servers (currently, in our application we have
>   4 web frontends)

öhm, far from being implemented in my code :)

i'd happy to see the code improve and to get more features into it.
Maybe we get soon a really good PEAR-Caching-System.

chregu

-- 
>> NOMAD MEDIA CORPORATION AG
>> christian stocker            >> e-mail: [email protected]
>> schöneggstrasse 5            >> mobile: +41 76 561 88 60
>> ch-8004 zürich               >> office: +41  1 240 23 04
>> web: http://www.nomad.ch     >> fax   : +41  1 240 23 71
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.