get_memory_usage
Retrieve the memory usage of a specific Redis key to monitor and optimize storage efficiency.
Instructions
获取键的内存使用量
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Redis键名 |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- src/redis_mcp_server/server.py:133-146 (handler)MCP tool handler for get_memory_usage. Decorated with @mcp.tool(), receives a key string, delegates to db.get_memory_usage(), and returns JSON with memory usage info.
@mcp.tool() def get_memory_usage(key: str) -> str: """获取键的内存使用量 Args: key: Redis键名 """ try: result = db.get_memory_usage(key) return json.dumps(result, ensure_ascii=False, indent=2) except PermissionError as e: return json.dumps({"error": str(e)}, ensure_ascii=False) except Exception as e: return json.dumps({"error": str(e)}, ensure_ascii=False) - src/redis_mcp_server/db.py:252-261 (helper)Core implementation in RedisConnection class. Calls Redis MEMORY USAGE command via self._client.memory_usage(key), returns dict with key, memory_bytes, and memory_human.
def get_memory_usage(self, key: str) -> dict[str, Any]: """获取键的内存使用量""" if not self._is_key_allowed(key): raise PermissionError(f"键 '{key}' 不允许访问") usage = self._client.memory_usage(key) return { "key": key, "memory_bytes": usage, "memory_human": f"{usage / 1024:.2f} KB" if usage and usage >= 1024 else f"{usage} B" if usage else "N/A", } - src/redis_mcp_server/server.py:133-134 (registration)Tool registration via the @mcp.tool() decorator on the handler function in server.py.
@mcp.tool() def get_memory_usage(key: str) -> str: - Input schema: takes a single required 'key' parameter of type str. Output: returns a JSON string.
def get_memory_usage(key: str) -> str: