Forums / Developer / can eZ Publish use eZ Component's memcache

can eZ Publish use eZ Component's memcache

Author Message

Marko Žmak

Monday 14 June 2010 12:38:35 am

I see that eZ Components have a nice support for memcache:

http://ezcomponents.org/docs/api/latest/introduction_Cache.html#memory-caching

So can eZP be configured so that uses this memcache feature? What can be cached in this way? What has to be done in order to achieve this?

--
Nothing is impossible. Not if you can imagine it!

Hubert Farnsworth

Edi Modrić

Monday 14 June 2010 1:32:34 am

Don't know about eZC memcache component, but there's an extension that allows the use of memcache for file locking operations, overriding eZMutex class.

http://projects.ez.no/ngmemcachemutex

eZ Publish certified developer

http://ez.no/certification/verify/350658

André R.

Monday 14 June 2010 1:39:25 am

You'll have to rewrite the eZ Publish cache layers (and optimally change them to use one api that uses ezcCache as back end), please send patch :)

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

Marko Žmak

Monday 14 June 2010 2:52:52 am

Ok, further questions:

- can the eZ Component's memcache functionality be used to cache the query results from the database?

- what about lamemcache (http://projects.ez.no/lamemcache)? What kind of caching does it provide? (besides managing sessions)

--
Nothing is impossible. Not if you can imagine it!

Hubert Farnsworth

Marko Žmak

Thursday 08 July 2010 3:04:39 pm

Andre, I'm thinking of rewriting the cache layers, could you give me some hints about it...

What cache classes would be best to rewrite?

Is there a single class that I can rewrite which would make memcache work with all caches?

--
Nothing is impossible. Not if you can imagine it!

Hubert Farnsworth

Gaetano Giunta

Friday 09 July 2010 2:06:37 am

Look at the cluster file handlers, the real meat is in there

Principal Consultant International Business
Member of the Community Project Board

Marko Žmak

Friday 09 July 2010 3:32:50 am

"

Look at the cluster file handlers, the real meat is in there

"

And what about adding a new file handler that uses memcache? How does that sound?

--
Nothing is impossible. Not if you can imagine it!

Hubert Farnsworth

Bertrand Dunogier

Friday 09 July 2010 5:32:43 am

I had tried that. The issue is that memcache is not, by design, a persistent/reliable storage backend. It is volatile, and can't really be trusted for persistent data.

Besides that, there is no reason why it wouldn't work.

Bertrand Dunogier
eZ Systems Engineering, Lyon
http://twitter.com/bdunogier
http://gplus.to/BertrandDunogier

Marko Žmak

Friday 09 July 2010 6:16:38 am

Yes I see that file handlers don't handle only cache files but also other, persistent files. So I'm back to the previous question:

Is there a single class that I can rewrite which would make memcache work with all caches?

(but which works only with caching not for other files)

--
Nothing is impossible. Not if you can imagine it!

Hubert Farnsworth

eZ debug

Timing: Jan 29 2025 13:38:35
Script start
Timing: Jan 29 2025 13:38:35
Module start 'content'
Timing: Jan 29 2025 13:38:35
Module end 'content'
Timing: Jan 29 2025 13:38:35
Script end

Main resources:

Total runtime0.1715 sec
Peak memory usage2,048.0000 KB
Database Queries141

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0066 588.0625180.8125
Module start 'content' 0.00660.0051 768.8750106.0391
Module end 'content' 0.01170.1597 874.9141534.0000
Script end 0.1714  1,408.9141 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00382.2341200.0002
Check MTime0.00150.8680200.0001
Mysql Total
Database connection0.00070.423910.0007
Mysqli_queries0.126173.50181410.0009
Looping result0.00120.71381390.0000
Template Total0.159492.910.1594
Template load0.00080.464710.0008
Template processing0.158692.460910.1586
Override
Cache load0.00060.331110.0006
Sytem overhead
Fetch class attribute can translate value0.00080.481110.0008
XML
Image XML parsing0.00020.117710.0002
General
dbfile0.00643.7572200.0003
String conversion0.00000.002930.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 1
 Number of unique templates used: 1

Time used to render debug report: 0.0001 secs