This post is a short introduction to data structures available in Redis. Nothing new, right? Right. However, the chosen approach here is to visualize the most common Redis data structures with ASCII side by side with a simple redis-cli command.
Overview
Besides a sample create command the following section deliberately provides the ASCII visualizations only and no further information. This can be found all over the web. Some good sources as well as the plain text ASCII are listed at the end.
Redis Data Types
The following data type visualizations always picture how to store three values and the corresponding amount of keys to a Redis database instance. And ... indicates that there could follow more keys or values.
Redis Strings (Key Value)

MSET key1 value key2 value key3 value
Redis Lists

LPUSH key value value value or RPUSH key value value value
Redis Hashes

HMSET key field1 value field2 value field3 value
Redis Sets

SADD key uniqueMember1 uniqueMember2 uniqueMember3
Redis Sorted Sets

ZADD key score uniqueMember1 score uniqueMember2 score uniqueMember3
Redis Geopositions
Same as Sorted Set: Score is calculated from latitude and longitude (Geohash).
GEOADD key long lat uniqueMember1 long lat uniqueMember2 long lat uniqueMember3
Redis Bitmaps

SETBIT key 0 0 or SETBIT key 0 1
Redis HyperLogLogs

PFADD uniqueMember1 uniqueMember2 uniqueMember3
Update: There are also two follow-up blog posts now available: Data Modeling with Redis - German Postcodes Geoposition and Data Modeling with Redis - German Postcodes Advanced
Further Information
Redis Docs & Command Reference:
https://redis.io/topics/data-types-intro
https://redis.io/commands/
DZone Refaced for Redis (with simple yet comprehensive examples):
https://dzone.com/refcardz/getting-started-with-redis
Online Tool for ASCII:
http://asciiflow.com
Plain Text ASCII Data Types Visualizations
Redis Strings (Key Value):
+---------------+
| |
| +---+ +-----+ |
| |key| |value| |
| +---+ +-----+ |
| |
| +---+ +-----+ |
| |key| |value| |
| +---+ +-----+ |
| |
| +---+ +-----+ |
| |key| |value| |
| +---+ +-----+ |
| |
| +---+ +---+ |
| |...| |...| |
| +---+ +---+ |
| |
+---------------+
Redis Lists:
+-------------------------------------+
| |
| +---+ +-----+ +-----+ +-----+ +---+ |
| |key| |value| |value| |value| |...| |
| +---+ +-----+ +-----+ +-----+ +---+ |
| |
+-------------------------------------+
Redis Hashes:
+-----------------------+
| |
| +---+ |
| |key| |
| +---+ |
| |
| +-----+ +-----+ |
| |field| |value| |
| +-----+ +-----+ |
| |
| +-----+ +-----+ |
| |field| |value| |
| +-----+ +-----+ |
| |
| +-----+ +-----+ |
| |field| |value| |
| +-----+ +-----+ |
| |
| +---+ +---+ |
| |...| |...| |
| +---+ +---+ |
| |
+-----------------------+
Redis Sets:
+-------------------------------------------------------------+
| |
| +---+ +-------------+ +-------------+ +-------------+ +---+ |
| |key| |uniqueMember1| |uniqueMember2| |uniqueMember3| |...| |
| +---+ +-------------+ +-------------+ +-------------+ +---+ |
| |
+-------------------------------------------------------------+
Redis Sorted Sets:
+-------------------------------+
| |
| +---+ |
| |key| |
| +---+ |
| |
| +-----+ +-------------+ |
| |score| |uniqueMember1| |
| +-----+ +-------------+ |
| |
| +-----+ +-------------+ |
| |score| |uniqueMember2| |
| +-----+ +-------------+ |
| |
| +-----+ +-------------+ |
| |score| |uniqueMember3| |
| +-----+ +-------------+ |
| |
| +---+ +---+ |
| |...| |...| |
| +---+ +---+ |
+-------------------------------+
Redis Geopositions:
Same as Sorted Set: Score is calculated from latitude and longitude (Geohash).
Redis Bitmaps:
+----------------+
| |
| +---+ +------+ |
| |key| |0|1...| |
| +---+ +------+ |
| |
+----------------+
Redis HyperLogLogs:
+-------------------------------------------------------+
| |
| +---+ +---------------------------------------------+ |
| |key| |uniqueMember1 uniqueMember2 uniqueMember3 ...| |
| +---+ +---------------------------------------------+ |
| |
+-------------------------------------------------------+