1717
1818from alembic .util .exc import CommandError
1919from packaging import version
20- from redis import Redis as RedisSync
21- from redis .asyncio import Redis
22- from redis .exceptions import RedisError
2320
2421from reflex import constants , model
2522from reflex .config import Config , get_config
2926from reflex .utils .misc import get_module_path
3027
3128if typing .TYPE_CHECKING :
29+ from redis import Redis as RedisSync
30+ from redis .asyncio import Redis
31+
3232 from reflex .app import App
3333
3434
@@ -370,6 +370,8 @@ def get_redis() -> Redis | None:
370370 Returns:
371371 The asynchronous redis client.
372372 """
373+ from redis .asyncio import Redis
374+ from redis .exceptions import RedisError
373375 if (redis_url := parse_redis_url ()) is not None :
374376 return Redis .from_url (
375377 redis_url ,
@@ -384,6 +386,8 @@ def get_redis_sync() -> RedisSync | None:
384386 Returns:
385387 The synchronous redis client.
386388 """
389+ from redis import Redis as RedisSync
390+ from redis .exceptions import RedisError
387391 if (redis_url := parse_redis_url ()) is not None :
388392 return RedisSync .from_url (
389393 redis_url ,
@@ -418,6 +422,7 @@ async def get_redis_status() -> dict[str, bool | None]:
418422 Returns:
419423 The status of the Redis connection.
420424 """
425+ from redis .exceptions import RedisError
421426 try :
422427 status = True
423428 redis_client = get_redis ()
0 commit comments