Key-value and Queue: mongodb_storage
The mongodb_storage module implements two Drupal APIs in MongoDB:
- the Key-Value storage
- the Queue API
Key-Value (Expirable) storage
Configuration
To use the MongoDB Key-Value (Expirable) storage:
- ensure there is a
keyvaluedatabase alias as in settings configuration. -
declare MongoDB as the default Key-Value storage implementation by editing the existing parameter declarations in the
sites/default/services.ymlfile:# In sites/default/services.yml. parameters: # (...snip...) factory.keyvalue: default: keyvalue.mongodb factory.keyvalue.expirable: keyvalue_expirable_default: keyvalue.expirable.mongodb -
enable the module, e.g. using
drush en mongodb_storage. -
import the existing Key-Value contents from the database, using the Drush
mongodb:storage:import_keyvaluecommand:drush most-ikv. It will output the names of the imported stores, for your information:key_value key_value_expire -
rebuild the container to take these changes into account using
drush cr.
Import of SQL Key-Value content
The module provides one single Drush command to import the content of the default SQL storage for Key-Value into MongoDB. It is described in the previous paragraph as part of the configuration steps.
Queue service
This module provides a MongoDB Queue API implementation.
- Enable the module, e.g. using
drush en mongodb_storage. - Define a
queuedatabase alias, as described in settings configuration - Declare it as the default Queue API implementation,
by adding this line to the
settings.phpfile$settings['queue_default'] = 'queue.mongodb';