Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 48 additions & 0 deletions docs/command-reference/cuckoo-filter/cf.add.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
description: Learn how to use the CF.ADD command to add an item to a Cuckoo filter in Dragonfly.
---
import PageTitle from '@site/src/components/PageTitle';

# CF.ADD
Comment on lines +4 to +6

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

1. cf.add.md import before h1 📘 Rule violation ⚙ Maintainability

The page front matter is not immediately followed by the single H1 because an MDX import line
appears before the H1 (# CF.ADD / # CF.ADDNX). This breaks the required documentation page
structure and can lead to inconsistent rendering/metadata handling.
Agent Prompt
## Issue description
`docs/command-reference/cuckoo-filter/cf.add.md` and `docs/command-reference/cuckoo-filter/cf.addnx.md` have YAML front matter, but the first content after it is an `import` statement rather than the required single H1 page title.

## Issue Context
Per documentation structure requirements (PR Compliance ID 1), after the YAML front matter block the page must immediately present a single H1 page title; imports should not appear between front matter and the H1.

## Fix Focus Areas
- docs/command-reference/cuckoo-filter/cf.add.md[1-8]
- docs/command-reference/cuckoo-filter/cf.addnx.md[1-8]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


<PageTitle title="Redis CF.ADD Command (Documentation) | Dragonfly" />

## Syntax

CF.ADD key item

**Time complexity:** O(k + i), where k is the number of sub-filters and i is `MAXITERATIONS`

**ACL categories:** @cuckoo

Adds a single `item` to the Cuckoo filter at `key`.
If `key` does not exist, a new filter is created with default parameters.

Unlike [`CF.ADDNX`](./cf.addnx.md), duplicate insertions are allowed — the same item can be added multiple times and will occupy a separate slot each time.
Use `CF.DEL` once per insertion to remove it.

If the filter is full and expansion is disabled (`EXPANSION 0`), an error is returned.

## Return

[Integer reply](https://valkey.io/topics/protocol/#integers):

- `1` if the item was successfully added.
- `0` if the filter is full and could not be expanded.

## Examples

```shell
dragonfly> CF.ADD cf Hello
(integer) 1

dragonfly> CF.ADD cf Hello
(integer) 1

dragonfly> CF.COUNT cf Hello
(integer) 2
```

## See also

[`CF.ADDNX`](./cf.addnx.md) | [`CF.RESERVE`](./cf.reserve.md)
49 changes: 49 additions & 0 deletions docs/command-reference/cuckoo-filter/cf.addnx.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
description: Learn how to use the CF.ADDNX command to add an item to a Cuckoo filter only if it does not already exist.
---
import PageTitle from '@site/src/components/PageTitle';

# CF.ADDNX

<PageTitle title="Redis CF.ADDNX Command (Documentation) | Dragonfly" />

## Syntax

CF.ADDNX key item

**Time complexity:** O(k + i), where k is the number of sub-filters and i is `MAXITERATIONS`

**ACL categories:** @cuckoo

Adds a single `item` to the Cuckoo filter at `key` only if it does not already exist.
If `key` does not exist, a new filter is created with default parameters.

Unlike [`CF.ADD`](./cf.add.md), this command checks for the item before inserting.
Because Cuckoo filters can return false positives, `CF.ADDNX` may decline to insert
an item that was never actually added.

If the filter is full and expansion is disabled (`EXPANSION 0`), an error is returned.

## Return

[Integer reply](https://valkey.io/topics/protocol/#integers):

- `1` if the item was successfully added.
- `0` if the item already exists in the filter (or is a false positive match).

## Examples

```shell
dragonfly> CF.ADDNX cf Hello
(integer) 1

dragonfly> CF.ADDNX cf Hello
(integer) 0

dragonfly> CF.ADDNX cf World
(integer) 1
```

## See also

[`CF.ADD`](./cf.add.md) | [`CF.RESERVE`](./cf.reserve.md)
Loading