https://github.com/gocom/rah_memcached
Store parts of Textpattern CMS templates in Memcached
https://github.com/gocom/rah_memcached
memcached php textpattern textpattern-plugin
Last synced: 9 months ago
JSON representation
Store parts of Textpattern CMS templates in Memcached
- Host: GitHub
- URL: https://github.com/gocom/rah_memcached
- Owner: gocom
- License: gpl-2.0
- Created: 2014-03-12T16:39:50.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2022-04-22T18:22:35.000Z (almost 4 years ago)
- Last Synced: 2025-03-28T00:04:50.434Z (10 months ago)
- Topics: memcached, php, textpattern, textpattern-plugin
- Language: PHP
- Homepage:
- Size: 54.7 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.textile
- Contributing: CONTRIBUTING.textile
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
h1. rah_memcached
"Download":https://github.com/gocom/rah_memcached/releases | "Packagist":https://packagist.org/packages/rah/rah_memcached | "Issues":https://github.com/gocom/rah_memcached/issues
A plugin for "Textpattern CMS":https://textpattern.com that stores parts of your templates in "Memcached":https://memcached.org/, a distributed in-memory key-value caching system.
h2. Install
Using "Composer":https://getcomposer.org:
bc. $ composer require rah/rah_memcached
Or "download":https://github.com/gocom/rah_memcached/releases an installer package.
h2. Basics
The plugin, rah_memcached, introduces a new container tag to Textpattern's arsenal. The tag stores the wrapped content, and "variables":https://docs.textpattern.com/tags/variable set within it, in Memcached's in-memory storage.
bc.
On subsequent calls the resulting output markup and variables will be loaded from memory, skipping template parsing and code execution, speeding up your site and alleviating database load.
h2. Requirements
* Textpattern >= 4.7.0.
* PHP >= 8.1.0.
* "Memcached":https://secure.php.net/manual/en/book.memcached.php PHP extension.
* "libmemcached":https://libmemcached.org/ client library.
* "Memcached":https://memcached.org/ server.
h2. Configuration
Connected server can be configured through Textpattern's @textpattern/config.php@ file:
bc. define('RAH_MEMCACHED_HOST', 'localhost');
define('RAH_MEMCACHED_PORT', 11211);
h2. Attributes
bc.
...contained statement...
The tag is a container and attributes for it follow.
*name*
Sets a name, a key, for the cached item. The given name is used identify the item, and save and fetch it from the storage. If a _name_ is not defined, it's automatically created by hashing the given contained markup. While the name is optional, giving it is more efficient and avoids any potential hash collisions.
Default: _undefined_ Example: @name="mykey"@
*expires*
Time in seconds it takes to the stored item to expire and be refreshed. If zero (@0@), the cache is kept in memory until the cache is flushed or Memcached is restarted.
Default: @0@ Example: @expires="3600"@
*persist*
If enabled, ignores content updates as set by site's @lastmod@ timestamp. By default, the cache is invalidated when Texptatern's lastmod timestamp is updated, which is done when any content is updated.
Default: _disabled_ Example: @persist@
h2. Examples
h3. Store section navigation in memory
bc.
h3. Store variables in memory
bc..
Color:
Size:
h2. Changelog
h3. Version 0.3.0 - 2022/04/22
* Fixes PHP >= 8.1 compatibility.
* Now requires PHP >= 8.1.
h3. Version 0.2.0 - 2022/04/17
* Register the tag for Textpattern >= 4.7.0 compatibility.
* Replaced @lastmod@ attribute with @persist@.
* Now requires PHP >= 7.2.0.
* Now requires Textpattern >= 4.7.0.
h3. Version 0.1.0 - 2014/03/19
* Initial release.