What is Redis?
Redis (Remote Dictionary Server) is an in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries.
Redis is good for cache, but it's much more than just a cache. It's high speed fully in-memory database.
Not just a cache:-
Redis is good for cache, but it's much more than just a cache. It's high speed fully in-memory database.
Not just a cache:-
- In memory key-value storage.
- Support multiple datatypes (strings, hashes, lists, sets, sorted sets, bitmaps, and hyperloglogs).
- It provides an ability to store cache data into physical storage (if needed).
- Support the pub-sub model.
- Redis cache provides replication for high availability (master/slave).
SDL DXA comes up with the pre-defined configuration of Redis for client-side caching to improve the performance of Web-application.
Pre-requisites:-
- SDL Web 8.5
- SDL DXA
- Redis
- Redis Desktop Manager
- Redis Server and Redis CLI
- And If you want to run this on docker run docker pull redis command. Check out the official Redis repository on the docker
Installing the Redis
- Download the Redis and extract the zip file in a directory at any location.e;g in c:\redis
Redis
- redis-cli.exe to start the command line interface. redis-cli is the Redis command line interface, a simple program that allows to send commands to Redis and read the replies sent by the server, directly from the terminal.
Redis CLI
Next, is configure DXA to use Redis for client-side caching go to DXA web.config and navigate to <sdl.web.delivery> node and there we already have Redis configuration setup we just need to update the cacheName. You set the policy of expiry as per the requirement.
Redis Configuration in DXA Web.config |
Restart the IIS and spin the DXA Website, the site will trigger the page caching and it will add it to the Redis database.
To test the data is saved in Redis or not install Redis Desktop manager and refresh the page to load the data. In the below image you see data is cached in the Redis.
Redis Desktop Manager |
Happy Coding and Keep Sharing!!!