Any Redis application has two critical parts, namely the keys and the values that are stored in these keys. For most Redis solutions, the design of your key names is important whether you manually design a schema or use a Redis object mapper that hides the details behind a client layer of abstraction. The performance of all Redis's data structures and the corresponding write and access commands is evaluated using the big O notation, a method used in computer science to calculate the worst-case performance for an algorithm when this algorithm is given an increasing number of inputs. Using the big O notation, we can estimate the effectiveness of our Redis-based solutions by summarizing the performance of all our Redis commands in a function, method, or class in our client code. Next, we carry out a basic complexity analysis of Redis's strings, hashes, lists, and sets, while expanding on some advanced usage of Redis's sorted sets,
HyperLogLogs data structures.