Redis is probably redundant for a single-machine local application. Especially if the data is small.
It is mainly used as the L2 cache level. Say you have several machines serving your application, each machine can store its own local cache, but Redis can serve as a global cache for everyone. Say your application user is browsing a page or function that requires some data from your database. Then your application will check the local L1 cache (e.g. dictionary). This would be the fastest method since it is not connected to any other network trip. If there is no data, he will look for it in Redis as a global application cache. If it is there - fine - extract the data and paste it into the local L1 cache. If not, go to the database, extract the data, put it in Redis (L2) and in your local cache (L1).
You can read more here.
At the same time, there are more applications for Redis than a simple cache - Pub / Sub, SET s, SORTED SET functionality and functionality on them (for example, intersections, joins, etc.) and even smart functions on STRING type, such as bitwise operations.
source share