Configuring Storage for MaxScale's Cache Filter
Topics on This Page:
MaxScale's Cache Filter (cache) caches the result-sets of SELECT statements to improve query performance.
This page explains how to configure the filter to use various types of storage.
Storage Types
The storage used by the Cache Filter (cache) is configured by the storage
parameter.
There are two different types of storage: local storage and shared storage.
Local Storage
The Cache Filter currently supports one type of local storage:
Value |
Description |
---|---|
|
|
Configuring the Cache Filter to use Memcached
Configure the Cache Filter to use memcached by setting the
storage
parameter tostorage_memcached
inmaxscale.cnf
.You will also need to set specific memcached-related options using the
storage_options
parameter. Options should be supplied as a comma-separated string.Option
Description
server
This option defines the address of the memcached instance, in the format:
host[:port]
.If the port is not specified, then 11211 is used by default.
This option is mandatory.
max_value_size
This option defines the maximum size of a cached value.
The unit is bytes, but EIC binary prefixes (
Ki
,Mi
,Gi
, andTi
) and SI prefixes (k
,M
,G
, andT
) can also be specified.If the value of this option is lower than the value of the
max_result_size
parameter for the Cache Filter, then the value of this option will be the effective maximum result size.The default value is 1 MB.
This option is optional.
For example:
[split-router-cache] type = filter module = cache hard_ttl = 30s soft_ttl = 20s ... storage = storage_memcached storage_options = server=192.0.2.100:11211, max_value_size=10M [cached-split-router] type = service router = readwritesplit ... filters = split-router-cache
Restart the MaxScale instance.
On operating systems that use systemd:
$ sudo systemctl restart maxscale
On systems that use Upstart:
$ sudo service maxscale restart
Configuring the Cache Filter to use Redis
Configure the Cache Filter to use Redis by setting the
storage
parameter tostorage_redis
inmaxscale.cnf
.You will also need to set specific Redis-related options using the
storage_options
parameter. Options should be supplied as a comma-separated string.Option
Description
server
This option defines the address of the Redis instance, in the format:
host[:port]
.If the port is not specified, then 6379 is used by default.
This option is mandatory.
For example:
[split-router-cache] type = filter module = cache hard_ttl = 30s soft_ttl = 20s ... storage = storage_redis storage_options = server=192.0.2.100:6379 [cached-split-router] type = service router = readwritesplit ... filters = split-router-cache
Restart the MaxScale instance.
On operating systems that use systemd:
$ sudo systemctl restart maxscale
On systems that use Upstart:
$ sudo service maxscale restart