While Redis supports creating username-password pairs with Access Control List most node.js clients still don't have this feature. Some clients allow you to authorize from node, but creating and deleting users still needs to be done via redis-cli. So Redis is not an option.
The same applies to Memcached and probably most other in-memory databases. Since these databases were designed as caches their security is either non-existent or they support only one global password. Ignite was the only one db with proper authentication out of the box (at least the only one which I could find, there are probably much more). In fact it's more than simple key-value store but in our case it's completely unnecessary.
To safely merge:
Apache Ignite needs to be installed (requires JDK)
IGNITE_HOST, IGNITE_USER and IGNITE_PASSWORD should be added to .env file. Default user-password is ignite, host is 127.0.0.1:10800
Start the server with provided configuration bash ignite.sh path-to-igniteConfig.xml. It's configured to have persistence (if server runs out of memory heap file on disk will be used, it's also a requirement for authentication for some reason) and to limit in-memory region to 200mb.
Tutorial is pretty barebones so far, additions are welcome.
While Redis supports creating username-password pairs with Access Control List most node.js clients still don't have this feature. Some clients allow you to authorize from node, but creating and deleting users still needs to be done via redis-cli. So Redis is not an option.
The same applies to Memcached and probably most other in-memory databases. Since these databases were designed as caches their security is either non-existent or they support only one global password. Ignite was the only one db with proper authentication out of the box (at least the only one which I could find, there are probably much more). In fact it's more than simple key-value store but in our case it's completely unnecessary.
To safely merge:
IGNITE_HOST
,IGNITE_USER
andIGNITE_PASSWORD
should be added to .env file. Default user-password isignite
, host is127.0.0.1:10800
Start the server with provided configuration
bash ignite.sh path-to-igniteConfig.xml
. It's configured to have persistence (if server runs out of memory heap file on disk will be used, it's also a requirement for authentication for some reason) and to limit in-memory region to 200mb.Tutorial is pretty barebones so far, additions are welcome.