Skip to content

Commit 544a9c0

Browse files
author
Simon Prickett
authored
Merge pull request #74 from redis/bugfix/#73-module-list-not-working-on-redis-enterprise
Changed the way that modules are detected to work with Redis Enterprise
2 parents 3fadfba + d60fce5 commit 544a9c0

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

aredis_om/checks.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,22 @@
55

66

77
@lru_cache(maxsize=None)
8-
async def get_modules(conn) -> List[str]:
9-
modules = await conn.execute_command("module", "list")
10-
return [m[1] for m in modules]
11-
8+
async def check_for_command(conn, cmd):
9+
cmd_info = await conn.execute_command("command", "info", cmd)
10+
return not None in cmd_info
1211

1312
@lru_cache(maxsize=None)
1413
async def has_redis_json(conn=None):
1514
if conn is None:
1615
conn = get_redis_connection()
17-
names = await get_modules(conn)
18-
return b"ReJSON" in names or "ReJSON" in names
19-
16+
command_exists = await check_for_command(conn, "json.set")
17+
return command_exists
2018

2119
@lru_cache(maxsize=None)
2220
async def has_redisearch(conn=None):
2321
if conn is None:
2422
conn = get_redis_connection()
2523
if has_redis_json(conn):
2624
return True
27-
names = await get_modules(conn)
28-
return b"search" in names or "search" in names
25+
command_exists = await check_for_command(conn, "ft.search")
26+
return command_exists

0 commit comments

Comments
 (0)