Login | Register
My pages Projects Community openCollabNet

propel
Reply to message

* = Required fields
* Subject
* Body
Attachments
Send reply to
Topic
Author (directly in email)
Please type the letters in the image above.

Original message

Author Pedram Nimreezi <zenstyle@gmail.com>
Full name Pedram Nimreezi <zenstyle@gmail.com>
Date 2007-10-04 09:16:28 PDT
Message hi... ;)

On 10/2/07, Alexander Kahl <akahl at iconmobile dot com> wrote:
> On Tue, 2007-09-25 at 01:52 -0400, Pedram Nimreezi wrote:
> > > On Sat, 2007-09-22 at 18:26 -0400, Pedram Nimreezi wrote:
> > > > I have a lot of experience with memcache... it was definitely not
> > > > written to handle this...
> > > To handle what exactly? According to its docs, It was written primarily
> > > for caching frequent DBMS requests and load-balancing the results
> > > between several involved memcache servers.
> > > Do you mean it wasn't written to handle every single DBMS request
> > > possible?
> >
> > yes.. to start.. it's a completely abstract container..
> > designed to hold and retrieve data... if it's session data that's not
> > it's concern.
> Does Propel hold and/or retrieve session data?

Yes, any data...


> Am I getting something
> totally wrong here?

Only slightly

> I want to cache persistent data that is retrieved
> and modified via Propel.
>


Ahh... that's the problem to attack... I agree the logic
for memcache should be in Propel... moving towards
that being implemented can we agree that the first step
is checking to see the memcache extension is loaded?

If not using like... a CreoleSession? (i wrote that if you need it btw)
if the extension 'memcache' IS loaded... then look for memcache
server config in the propel.ini, it should be an array because you
can use memcache in a distributed fashion. And in the code generator
insert the requisite cache validation, invalidation, max buffers, etc...


> > > > you're just not gonna get more performance from the database
> > > > no matter how much faster you request or convert the data.... increased speed at
> > > > this tier level is completely application level logic... also if you
> > > > extract objects
> > > > from memcache you still need to include the source files so it's still
> > > > not as if you're
> > > > pulling data objects hot from the grill...
> What if you'd even hold the compiled Propel code in cache?


How would you execute it? a big eval() ? that kinda steps forward and
again backwards.
But that's moving towards an extension based implementation and that's hot... ;)

>
> > > You mean requesting memcache data still requires to include Propel's
> > > generated files to get the actual related request..?
> > >
> > right.. unless of course you used separate data transfer objects (value objects)
> > to represent that data....
> Right now this concept doesn't sound familiar to me. Can you tell me where it is used?
>

It's used whenever you want to abstract data as an object, propel does
it transparently
or you can have a couple of your own... externally. Passing value
objects that represent
actual meanings instead of primitive datatypes to explain (self
document) that meaning.

> --
> alexander kahl _ developer
>
> iconmobile GmbH _ methfesselstr. 30-36 _ 10965 berlin _ germany
> phone +49 30 886633 212 _ fax +49 30 886633 150 _ mobile +49 178 8279256
> akahl at iconmobile dot com _ www.iconmobile.com
>
> local court charlottenburg _ hrb 88308
> managing directors _ thomas fellger | stefan kirschke
>
>


--
~
Pedram Nimreezi
Internet Developer / Frameworkologist
mc at majorcomputing dot com | pedram at 5g dot com
--
No man is a complete failure until he begins disliking men who succeed