# Source: https://upstash.com/docs/redis/sdks/ts/commands/hash/hrandfield.md

# Source: https://upstash.com/docs/redis/sdks/py/commands/hash/hrandfield.md

> ## Documentation Index
> Fetch the complete documentation index at: https://upstash.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# HRANDFIELD

> Return a random field from a hash

## Arguments

<ParamField body="key" type="str" required>
  The key of the hash.
</ParamField>

<ParamField body="count" type="int">
  Optionally return more than one field.
</ParamField>

<ParamField body="withvalues" type="boolean">
  Return the values of the fields as well.
</ParamField>

## Response

<ResponseField type="Record<str, unknown>" required>
  An object containing the fields and their values.
</ResponseField>

<RequestExample>
  ```py Single theme={"system"}
  redis.hset("myhash", values={
      "field1": "Hello",
      "field2": "World"
  })

  assert redis.hrandfield("myhash") in ["field1", "field2"]
  ```

  ```py Multiple theme={"system"}
  redis.hset("myhash", values={
      "field1": "Hello",
      "field2": "World"
  })

  assert redis.hrandfield("myhash", count=2) in [
      ["field1", "field2"],
      ["field2", "field1"]
  ]
  ```

  ```py With Values theme={"system"}
  redis.hset("myhash", values={
      "field1": "Hello",
      "field2": "World"
  })

  assert redis.hrandfield("myhash", count=1, withvalues=True) in [
      {"field1": "Hello"},
      {"field2": "World"}
  ]
  ```
</RequestExample>