---
title: "Client.spop(key) | Grafana k6 documentation"
description: "Removes and returns a random member of the set stored at `key`."
---

# Client.spop(key)

Removes and returns a random element from the set value stored at `key`.

### Parameters

Expand table

| Parameter | Type   | Description                                              |
|-----------|--------|----------------------------------------------------------|
| `key`     | string | The key value holding the set to get a random member of. |

### Returns

Expand table

| Type              | Resolves with                                                | Rejected when                                                    |
|-------------------|--------------------------------------------------------------|------------------------------------------------------------------|
| `Promise<string>` | On success, the promise resolves to the returned set member. | If the set doesn’t exist, the promise is rejected with an error. |

### Example

JavaScript ![Copy code to clipboard](/media/images/icons/icon-copy-small-2.svg) Copy

```javascript
import redis from 'k6/x/redis';

// Instantiate a new redis client
const redisClient = new redis.Client('redis://localhost:6379');

export default async function () {
  await redisClient.sadd('myset', 'foo');
  await redisClient.sadd('myset', 'bar');
  await redisClient.spop('myset');

  const members = await redisClient.smembers('myset');
  if (members.length !== 1) {
    throw new Error('sismember should have length 1');
  }
}
```
