# single-threaded

Published articles for single-threaded.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Why your Redis is slow: it is single threaded and you sent it KEYS

DevFeed: [Why your Redis is slow: it is single threaded and you sent it KEYS](<https://devfeed.tech/articles/why-your-redis-is-slow-it-is-single-threaded-and-you-sent-it-keys-39605.md>)

Original publisher: [Read original article](<https://ankit-rana.com/logs/53-redis-single-threaded-keys-command/>)

Author: hello@ankit-rana.com

Published: 2026-09-15T00:00:00Z

Content type: tutorial

Language: en

Sources: [Ankit Rana | Mechanical Sympathy](<https://devfeed.tech/sources/ankit-rana-mechanical-sympathy.md>)

Topics: [Redis](<https://devfeed.tech/topics/redis.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>)

Tags: [blocking](<https://devfeed.tech/tags/blocking.md>), [caching](<https://devfeed.tech/tags/caching.md>), [command](<https://devfeed.tech/tags/command.md>), [latency](<https://devfeed.tech/tags/latency.md>), [observability](<https://devfeed.tech/tags/observability.md>), [performance](<https://devfeed.tech/tags/performance.md>), [redis](<https://devfeed.tech/tags/redis.md>), [single-threaded](<https://devfeed.tech/tags/single-threaded.md>)

### AI overview

The article explains that Redis executes commands one at a time on a single thread, so expensive commands can block every client and cause latency spikes across all operations. It identifies KEYS as a key offender and also discusses large DEL operations, unbounded LRANGE, SMEMBERS on large sets, and FLUSHALL. Redis 6 threaded I/O helps with socket handling but does not change single-threaded command execution.

### Source excerpt

Redis executes commands one at a time on a single thread, so any command that takes 200ms makes every other client wait 200ms regardless of how trivial their request was. KEYS scans the entire keyspace and is the obvious offender, but DEL on a large collection, unbounded LRANGE, SMEMBERS on a big set and FLUSHALL are all linear in the size of the data and block identically. The tell is a latency spike across all operations at once while CPU and network look normal.

## Snapshotting in a high throughput shared nothing database

DevFeed: [Snapshotting in a high throughput shared nothing database](<https://devfeed.tech/articles/snapshotting-in-a-high-throughput-shared-nothing-database-39632.md>)

Original publisher: [Read original article](<https://www.gauravsarma.com/posts/2025-01-27_Snapshotting-in-a-high-throughput-shared-nothing-database>)

Published: 2025-01-27T00:00:00Z

Content type: tutorial

Language: en

Sources: [Gaurav Sarma's Blog](<https://devfeed.tech/sources/gaurav-sarma-s-blog.md>)

Topics: [Database](<https://devfeed.tech/topics/database.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [in-memory database](<https://devfeed.tech/topics/in-memory-database.md>), [Concurrent Programming](<https://devfeed.tech/topics/concurrent-programming.md>), [Redis](<https://devfeed.tech/topics/redis.md>)

Tags: [database](<https://devfeed.tech/tags/database.md>), [go](<https://devfeed.tech/tags/go.md>), [golang](<https://devfeed.tech/tags/golang.md>), [goroutines](<https://devfeed.tech/tags/goroutines.md>), [in-memory-database](<https://devfeed.tech/tags/in-memory-database.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [redis](<https://devfeed.tech/tags/redis.md>), [single-threaded](<https://devfeed.tech/tags/single-threaded.md>)

### AI overview

This article explains the requirements and design considerations for adding point-in-time snapshots to a high-throughput, shared-nothing in-memory database written in Go. It examines copying data during writes, compares the approach with Redis's copy-on-write snapshotting, and begins testing copy-on-write behavior in a Go process.

### Source excerpt

. [Snapshotting in a High-Throughput Shared-Nothing Database](snapshotting-in-a-high-throughput-shared-nothing-database-cover...

## Comparison between Redis and DragonflyDB's data stores

DevFeed: [Comparison between Redis and DragonflyDB's data stores](<https://devfeed.tech/articles/comparison-between-redis-and-dragonflydb-s-data-stores-39629.md>)

Original publisher: [Read original article](<https://www.gauravsarma.com/posts/2024-08-27_Comparison-between-Redis-and-DragonflyDB-s-data-stores-e9ecba1ef84c>)

Published: 2024-08-27T00:00:00Z

Content type: article

Language: en

Sources: [Gaurav Sarma's Blog](<https://devfeed.tech/sources/gaurav-sarma-s-blog.md>)

Topics: [Redis](<https://devfeed.tech/topics/redis.md>), [data](<https://devfeed.tech/topics/data.md>), [hashing](<https://devfeed.tech/topics/hashing.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [clustering](<https://devfeed.tech/tags/clustering.md>), [comparison](<https://devfeed.tech/tags/comparison.md>), [hash](<https://devfeed.tech/tags/hash.md>), [memory](<https://devfeed.tech/tags/memory.md>), [redis](<https://devfeed.tech/tags/redis.md>), [single-threaded](<https://devfeed.tech/tags/single-threaded.md>), [vs](<https://devfeed.tech/tags/vs.md>)

### AI overview

This article compares how Redis and DragonflyDB store data in memory. It explains Redis's single-threaded architecture and DragonflyDB's multithreaded, shared-nothing design, then introduces separate chaining, open addressing, and extendible hashing.

### Source excerpt

. [Redis vs DragonflyDB Data Store Comparison](redis-vs-dragonflydbs-data-stores-cover...