In this chapter, the Redis data store was presented and discussed, along with acceptable features and use cases. Simple cases for using Redis were also shown, along with a description of what the coded examples intended to accomplish. Redis has been shown to perform very well, with configuration options for data expiration, as well as several available data types to assist with storage. It also has additional features that can be used for message brokering, counter types, and server-side scripting.
It is important to note that there are some cases where Redis may not perform optimally. Care should be taken to properly configure things such as security and THP, as well as taking care to follow good practices in the application code, such as avoiding the use of the KEYS command and unnecessary trips over the network. The intended dataset should also be inspected, so as to be sure that it fits into RAM, and that it is not relational in nature.
Redis is flexible, lightweight, easy to use, and has drivers available for several different languages. It also has options for persistence which make it capable of offering levels of data durability similar to what is seen in other data stores.
There are plenty of features within Redis that make it a desirable fit for certain use cases, or applications that meet certain conditions. Evaluating it on[13] a feature-by-feature basis is certainly a worthwhile exercise. After all, Redis may be a fit for specific aspects of your application, but unsuitable for others. When it comes to choosing the right tool for the job, sometimes architecting a hybrid approach of Redis with another data store may be the best solution.