Redis acts as a server of transactional data structures. Programs connects to a Redis server where they can store, query, and update data. It is in-memory storage, so it can be very fast, but it also saves data in disk, so it can be also used as database.
Redis has clients available for most of the environments and languages. An instance of redis can be shared among multiple apps.