Prev Next

Database / REDIS

Define a Redis Bitmap?

A Bitmap isn't a separate data type in Redis — it's a way of treating an ordinary String value as a compact array of individual bits, addressed by offset, using dedicated bit-level commands. Because a String can hold up to 512MB, a single key can represent billions of individual boolean flags extremely compactly.

SETBIT user:1001:active_days 5 1    # mark day 5 as active
GETBIT user:1001:active_days 5      # check day 5
BITCOUNT user:1001:active_days       # count how many bits are set

The classic use case is tracking a large number of boolean states per entity extremely cheaply — whether a user was active on each day of the year (365 bits = under 46 bytes), feature-flag membership across millions of users, or approximate presence tracking. BITCOUNT and bitwise operations like BITOP AND/OR let you answer questions like "how many users were active on both day 5 and day 6" across huge populations using a handful of fast, memory-efficient operations rather than scanning individual records.

What underlying data type does a Redis Bitmap actually use?
Why are Bitmaps considered memory-efficient for tracking many boolean flags?

More Related questions...

What is a Redis key? What is Redis? List few Redis Datatypes. What is the purpose of the EXPIRE command? What is a Redis Sorted Set? Advantages of Redis. What is a Redis Hash used for? What programming languages does Redis support? Explain Replication in Redis. What is a Redis Set data type used for? What is the purpose of the INCR command? Explain about REDIS security. Expand REDIS. What is a Redis Stream? In which language Redis is developed? Define a Redis Bitmap? What is the purpose of Redis Pub/Sub? Difference between SET and MSET command in REDIS. What are Redis transactions? Explain LPUSH command in REDIS. What is RDB persistence in Redis? Limitations of REDIS. What is AOF persistence in Redis? REDIS is fast, but is it also durable? Difference between Memcached and REDIS. What is the purpose of the SELECT command in Redis? What is the purpose of the TTL command? What is SADD command in REDIS? Mention few LIST operations in REDIS. Define eviction policies in Redis? Mention Spring Boot Drivers for REDIS. What is Redis Sentinel used for? Explain about redisson client for redis. What is Redis Cluster? How do you connect to Redis using the CLI? What is a Cache Penetration Problem? Why is Redis often faster than a traditional relational database for caching? How I/O Multiplexing Works in Redis? What is Valkey, and how does it relate to Redis? What is the difference between RDB and AOF persistence? How does Redis achieve high throughput with a mostly single-threaded design? Why should you configure an eviction policy for a Redis instance used as a cache? How does Redis Cluster shard data across nodes? When should you use Redis Sentinel instead of Redis Cluster? What happens when a Redis master fails in a Sentinel-managed setup? Explain the execution flow of a Redis transaction using MULTI/EXEC? How can you optimize Redis memory usage for large datasets? How do you troubleshoot high memory usage in a Redis instance? Why is the maxmemory-policy setting important for a cache-only Redis deployment? Explain the lifecycle of a key with a TTL set in Redis? How does Redis handle atomicity for multi-key operations? What is the difference between a Redis List and Sorted Set for queues? How do you implement a distributed lock using Redis? How does Redis Streams support consumer groups? Which is better and why: Redis Pub/Sub or Redis Streams for event delivery? How do you integrate Redis as a session store in a web application? Explain the internal working of Redis's hash table resizing (rehashing)? How do you configure Redis persistence for a production deployment? What is the difference between Redis Cluster and client-side sharding? How does Redis support Lua scripting for atomic operations? When would you choose Redis Streams over a message broker like Kafka? How do you secure Redis access using ACLs? Why should the KEYS command be avoided in production? How do you configure Redis for cache-aside pattern usage? Explain the execution flow of a Redis Cluster request with a MOVED redirection? How does Redis handle replication lag between a master and its replicas? Why doesn't Redis guarantee strong consistency by default across replicas? How do you mitigate a Cache Avalanche in a Redis-backed system? What is the difference between Redis's diskless replication and disk-based replication?
Show more question and Answers...


Comments & Discussions