Archive Ensembl HomeArchive Ensembl Home

Ensembl Memcached integration

Memcached is a distributed memory object caching system.
We are using memcached to speed up website by caching lots of things in EnsEMBL, such as paths to pluggable static files, semi-static rendered html pages, generated images, image-maps, some database query results and a lot more.
To get to know more about memcached in general apply here:

Important note: EnsEMBL would not run with standard memcached installation, we slightly changed memcached server to suit our needs.
Major idea of this modification is to be able to apply tags for the items stored in memory, so that there's a way to delete lots of items at once by tags.

new functions:
tag_add tag key - adds tag for the key
tag_delete tag - deletes all keys with given tag
tags_delete tag1 tag2 ... - deletes keys which have all given tags

The modified source code for memcached server could be found in public-plugins/memceched/src, alternatively you can download it here.