- Status Closed
- Percent Complete
- Task Type Feature Request
- Category Backend / Core
- Assigned To No-one
- Operating System All
- Severity Low
- Priority Very Low
- Reported Version 2.33
- Due in Version Undecided
-
Due Date
Undecided
- Votes
- Private
FS#298 - Add support for memcached
http://danga.com/memcached/
It's basically a distributed key=value service. entirely In-RAM. (What happens when it fills? LRU?)
Initially, cache things that don't chagne often -- like usernames and folder names/parents but on a random photo page load, we have to hit several times.
This isn't a big deal now, but on high-traffic sites it can make quite a difference in performance.
Adding general support for this is a bit more complicated, as it would have to sit inbetween the querys and the database, so I'd rather just add it to a few hotspots as needed.
Closed by pizza
2008-06-26 20:18
Reason for closing: Implemented
Additional comments about closing: There's always room for improvement, but the first parts are there. The search/folder browse improvements are a much more complex problem.
2008-06-26 20:18
Reason for closing: Implemented
Additional comments about closing: There's always room for improvement, but the first parts are there. The search/folder browse improvements are a much more complex problem.
Loading...
Available keyboard shortcuts
- Alt + ⇧ Shift + l Login Dialog / Logout
- Alt + ⇧ Shift + a Add new task
- Alt + ⇧ Shift + m My searches
- Alt + ⇧ Shift + t focus taskid search
Tasklist
- o open selected task
- j move cursor down
- k move cursor up
Task Details
- n Next task
- p Previous task
- Alt + ⇧ Shift + e ↵ Enter Edit this task
- Alt + ⇧ Shift + w watch task
- Alt + ⇧ Shift + y Close Task
Task Editing
- Alt + ⇧ Shift + s save task
There's an official PHP extension -- php-pecl-memcache.
We could also use it to store session info.
-devel now allows one to specify a memcache session handler, or one can just use the default PHP stuff which of course can be memcache.
the default config file now includes a memcache example. I have it running on the peachy photography site, and it rocks.
Initial candidates for caching:
*) userid -> info [un,fn,ln] (called once per page and almost never changes)
*) folderid -> info (and/or 'get_path_to_folder' cache)
*) albumid -> info (and/or 'get_path_to_album' cache)
*) photoid -> keywords
*) photoid -> tech_info
Then:
*) Search results -- the search query return everything, and it gets cached for a short time. we page back and forth from the cache.
userid ->info added
locationid -> info added
get_users_folder, get_users_album added
photoid->keywords added
get_path_to_folder, get_path_to_album added