diff --git a/changelog.d/7439.feature b/changelog.d/7439.feature
new file mode 100644
index 0000000000000000000000000000000000000000..ce6140fdd111ba231cb8e4b1a54203361ecf916d
--- /dev/null
+++ b/changelog.d/7439.feature
@@ -0,0 +1 @@
+Add support for running replication over Redis when using workers.
diff --git a/synapse/python_dependencies.py b/synapse/python_dependencies.py
index 733c51b75841ecc7778a81c3e200d1058bafdf37..39c99a280230df6c8b3f20288536bf25ab77072d 100644
--- a/synapse/python_dependencies.py
+++ b/synapse/python_dependencies.py
@@ -98,7 +98,9 @@ CONDITIONAL_REQUIREMENTS = {
     "sentry": ["sentry-sdk>=0.7.2"],
     "opentracing": ["jaeger-client>=4.0.0", "opentracing>=2.2.0"],
     "jwt": ["pyjwt>=1.6.4"],
-    "redis": ["txredisapi>=1.4.7"],
+    # hiredis is not a *strict* dependency, but it makes things much faster.
+    # (if it is not installed, we fall back to slow code.)
+    "redis": ["txredisapi>=1.4.7", "hiredis"],
 }
 
 ALL_OPTIONAL_REQUIREMENTS = set()  # type: Set[str]