Skip to content
Merged
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
4 changes: 2 additions & 2 deletions src/ds/hashes.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ HINCRBY bike:1 price 100
HINCRBY bike:1 price -100
```

New in [Redis Community Edition version 7.4](https://hub.docker.com/layers/redis/redis-stack/7.4.0-v0/images/sha256-3e3c86603a81712d1311bc619ad124de15b2dca2b50722f23a4502b4d4054ba8) is the ability set the expiration time or the remaining time-to-live (TTL) for individual hash fields. This is called hash field expiration (HFE). HFE works just like [key expiration](https://redis.io/docs/latest/develop/use/keyspace/?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials#key-expiration) and includes the following commands:
New in [Redis Community Edition version 7.4](https://hub.docker.com/layers/redis/redis-stack/7.4.0-v0/images/sha256-3e3c86603a81712d1311bc619ad124de15b2dca2b50722f23a4502b4d4054ba8) is the ability set the expiration time or the remaining time-to-live (TTL) for individual hash fields. This is called hash field expiration (HFE). HFE works just like [key expiration](https://redis.io/docs/latest/develop/using-commands/keyspace/?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials#key-expiration) and includes the following commands:

- `hexpire` - set an expiration (time-to-live or TTL) in seconds on a hash key's field(s).
- `hexpireat` - set a TTL as an absolute Unix timestamp (seconds since Unix epoch) on a hash key's field(s).
Expand Down Expand Up @@ -80,6 +80,6 @@ HGETALL hash
```
### Resources

- Hash type [reference page](https://redis.io/docs/data-types/hashes?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials).
- Hash type [reference page](https://redis.io/docs/latest/develop/data-types/hashes/?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials).
- Entire set of [Redis hash commands](https://redis.io/commands/?group=hash?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials).
- Check out [Get started with Redis](https://university.redis.io/learningpath/14q8m6gilfwltm?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials) learning path on Redis University for an introduction to working with all core data structures in Redis.
2 changes: 1 addition & 1 deletion src/ds/json/adv-jsonpath.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[JSONPath](https://goessner.net/articles/JsonPath/) expressions help you access specific elements within a JSON document, which is similar to how XPATH works for XML documents.
JSONPath support was added to Redis Stack in version 2.0.
Before that, [a legacy form of pathing](https://redis.io/docs/data-types/json/path/#legacy-path-syntax) was supported.
Before that, [a legacy form of pathing](https://redis.io/docs/latest/develop/data-types/json/path/?utm_source=redisinsight&utm_medium=app&utm_campaign=json_tutorial#legacy-path-syntax) was supported.
Only JSONPath will be discussed in this tutorial.

You've already seen several examples of JSONPath in previous parts of this tutorial. The next sections will describe JSONPath in more complete detail.
Expand Down
2 changes: 1 addition & 1 deletion src/ds/json/learn-more.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
### Documentation

* [JSON capability home](https://redis.io/docs/data-types/json/?utm_source=redisinsight&utm_medium=app&utm_campaign=json_tutorial)
* [JSON capability home](https://redis.io/docs/latest/develop/data-types/json/?utm_source=redisinsight&utm_medium=app&utm_campaign=json_tutorial)

### Social

Expand Down
2 changes: 1 addition & 1 deletion src/ds/lists.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,6 @@ KEYS bike:colors

### Resouces

- List type [reference page](https://redis.io/docs/data-types/list?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials).
- List type [reference page](https://redis.io/docs/latest/develop/data-types/?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials).
- Entire set of [Redis list commands](https://redis.io/commands/?group=list&utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials).
- Check out [Get started with Redis](https://university.redis.io/learningpath/14q8m6gilfwltm?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials) learning path on Redis University for an introduction to working with all core data structures in Redis.
2 changes: 1 addition & 1 deletion src/ds/prob/bloom-cuckoo.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ BF.INSERT newBloomFilter CAPACITY 10000 ITEMS hello waves goodbye // creates the
BF.INSERT bloomF NOCREATE ITEMS foo bar // tries to add 2 items to a filter with an error if the filter does not already exist
```

You can read more about Bloom filters and their use cases [here](https://redis.io/docs/data-types/probabilistic/bloom-filter/?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials). See [here](https://redis.io/commands/?group=bf&utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials) for the complete list of Bloom filter commands.
You can read more about Bloom filters and their use cases [here](https://redis.io/docs/latest/develop/data-types/probabilistic/bloom-filter/?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials). See [here](https://redis.io/commands/?group=bf&utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials) for the complete list of Bloom filter commands.

## Cuckoo Filters

Expand Down
2 changes: 1 addition & 1 deletion src/ds/prob/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,6 @@ The following data structures trade perfect accuracy for extreme memory efficien

[Redis Stack Server](https://redis.io/downloads/?utm_source=redisinsight&utm_medium=app&utm_campaign=probabilistic_tutorial) >=7.2.0-v7 \
OR \
[RedisBloom](https://oss.redis.com/redisbloom/) >=2.6.10 \
[RedisBloom](https://redis.io/docs/latest/develop/data-types/probabilistic/bloom-filter/?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials) >=2.6.10 \
OR \
A free Redis Stack instance on [Redis Cloud](https://redis.io/try-free/?utm_source=redisinsight&utm_medium=app&utm_campaign=probabilistic_tutorial).
4 changes: 2 additions & 2 deletions src/ds/prob/learn-more.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
### Blogs

* [Probably and No: Redis, RedisBloom, and Bloom Filters](https://redis.com/blog/redis-redisbloom-bloom-filters/?utm_source=redisinsight&utm_medium=app&utm_campaign=probabilistic_tutorial)
* [ReBloom – Bloom Filter Datatype for Redis](https://redis.com/blog/rebloom-bloom-filter-datatype-redis/?utm_source=redisinsight&utm_medium=app&utm_campaign=probabilistic_tutorial)
* [ReBloom – Bloom Filter Datatype for Redis](https://redis.io/blog/bloom-filter/?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials)
* [Count Min Sketch: The Art and Science of Estimating Stuff](https://redis.com/blog/count-min-sketch-the-art-and-science-of-estimating-stuff/?utm_source=redisinsight&utm_medium=app&utm_campaign=probabilistic_tutorial)
* [Meet Top-K: an Awesome Probabilistic Addition to RedisBloom](https://redis.com/blog/meet-top-k-awesome-probabilistic-addition-redisbloom/?utm_source=redisinsight&utm_medium=app&utm_campaign=probabilistic_tutorial)
* [Meet Top-K: an Awesome Probabilistic Addition to RedisBloom](https://redis.io/blog/meet-top-k-awesome-probabilistic-addition-redis/?utm_source=redisinsight&utm_medium=app&utm_campaign=probabilistic_tutorial)

### Videos

Expand Down
2 changes: 1 addition & 1 deletion src/ds/sets.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,6 @@ SMEMBERS bike:1:addons

### Resources

- Set type [reference page](https://redis.io/docs/data-types/sets?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials).
- Set type [reference page](https://redis.io/docs/latest/develop/data-types/sets/?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials).
- Entire list of [Redis set commands](https://redis.io/commands/?group=set&utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials).
- Check out [Get started with Redis](https://university.redis.io/learningpath/14q8m6gilfwltm?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials) learning path on Redis University for an introduction to working with all core data structures in Redis.
2 changes: 1 addition & 1 deletion src/ds/sorted_sets.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,6 @@ ZRANK bike:brands "Claude Shannon" WITHSCORE

### Resources

- Sorted set type [reference page](https://redis.io/docs/data-types/sorted-sets?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials).
- Sorted set type [reference page](https://redis.io/docs/latest/develop/data-types/sorted-sets/?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials).
- Entire list of [Redis sorted set commands](https://redis.io/commands/?group=sorted-set&utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials).
- Check out [Get started with Redis](https://university.redis.io/learningpath/14q8m6gilfwltm?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials) learning path on Redis University for an introduction to working with all core data structures in Redis.
2 changes: 1 addition & 1 deletion src/ds/strings.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,6 @@ TTL bike:1:lock_status
```
### Resources

- String type [reference page](https://redis.io/docs/data-types/strings?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials).
- String type [reference page](https://redis.io/docs/latest/develop/data-types/strings/?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials).
- Entire set of [Redis string commands](https://redis.io/commands/?group=string&utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials).
- Check out [Get started with Redis](https://university.redis.io/learningpath/14q8m6gilfwltm?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials) learning path on Redis University for an introduction to working with all core data structures in Redis.
2 changes: 1 addition & 1 deletion src/ds/ts/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@ You can ingest and query millions of samples and events at the speed of Redis.

[Redis Stack Server](https://redis.io/downloads/?utm_source=redisinsight&utm_medium=app&utm_campaign=timeseries_tutorial) >=7.2.0-v7 \
OR \
[RedisTimeSeries](https://oss.redis.com/redistimeseries/) >=1.10.11 \
[RedisTimeSeries](https://redis.io/learn/modules/redistimeseries/?utm_campaign=timeseries_tutorial&utm_medium=app&utm_source=redisinsight) >=1.10.11 \
OR \
A free Redis Stack instance on [Redis Cloud](https://redis.io/try-free/?utm_source=redisinsight&utm_medium=app&utm_campaign=timeseries_tutorial).
2 changes: 1 addition & 1 deletion src/ds/ts/learn-more.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
### Documentation

* [Time series data structure home](https://redis.io/docs/data-types/timeseries/?utm_source=redisinsight&utm_medium=app&utm_campaign=timeseries_tutorial)
* [Time series data structure home](https://redis.io/learn/modules/redistimeseries/?utm_campaign=timeseries_tutorial&utm_medium=app&utm_source=redisinsight)

### Social

Expand Down
4 changes: 2 additions & 2 deletions src/sq/aggregations.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ An aggregation query allows you to perform the following actions:
- Group data based on field values.
- Apply aggregation functions on the grouped data.

This article explains the basic usage of the `FT.AGGREGATE` command. For further details, see the [command specification](https://redis.io/commands/ft.aggregate/?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials) and the [aggregations reference documentation](https://redis.io/docs/latest/develop/ai/search-and-query/advanced-concepts/aggregations?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials).
This article explains the basic usage of the `FT.AGGREGATE` command. For further details, see the [command specification](https://redis.io/commands/ft.aggregate/?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials) and the [aggregations reference documentation](https://redis.io/docs/latest/develop/ai/search-and-query/advanced-concepts/aggregations/?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials/).

The examples in this article use a schema with the following fields:

Expand Down Expand Up @@ -73,7 +73,7 @@ FT.AGGREGATE index "query_expr" ... GROUPBY n "field_1" .. "field_n" REDUCE AGG
Here is an explanation of the additional constructs:

1. **Grouping**: you can group by one or many fields. Each ordered sequence of field values then defines one group. It's also possible to group by values that resulted from a previous `APPLY ... AS`.
2. **Aggregation**: you must replace `AGG_FUNC` with one of the supported aggregation functions (e.g., `SUM` or `COUNT`). A complete list of functions is available in the [aggregations reference documentation](https://redis.io/docs/latest/develop/ai/search-and-query/advanced-concepts/aggregations?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials). Replace `aggregated_result_field` with a value of your choice.
2. **Aggregation**: you must replace `AGG_FUNC` with one of the supported aggregation functions (e.g., `SUM` or `COUNT`). A complete list of functions is available in the [aggregations reference documentation](https://redis.io/docs/latest/develop/ai/search-and-query/advanced-concepts/aggregations/?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials). Replace `aggregated_result_field` with a value of your choice.

The following query shows you how to group by the field `condition` and apply a reduction based on the previously derived `price_category`. The expression `@price<1000` causes a bicycle to have the price category `1` if its price is lower than 1000 USD. Otherwise, it has the price category `0`. The output is the number of affordable bicycles grouped by price category.

Expand Down
4 changes: 2 additions & 2 deletions src/sq/full-text.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ Instead of searching across all text fields, you might want to limit the search
FT.SEARCH index "@field: word"
```

Words that occur very often in natural language, such as `the` or `a` for the English language, aren't indexed and will not return a search result. You can find further details in the [stop words article](https://redis.io/docs/latest/develop/ai/search-and-query/advanced-concepts/stopwords?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials).
Words that occur very often in natural language, such as `the` or `a` for the English language, aren't indexed and will not return a search result. You can find further details in the [stop words article](https://redis.io/docs/latest/develop/ai/search-and-query/advanced-concepts/stopwords/?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials).

The following example searches for all bicycles that have the word 'kids' in the description:

Expand All @@ -60,7 +60,7 @@ FT.SEARCH idx:bicycle "@description: kids"

## Phrase

A phrase is a sentence, sentence fragment, or small group of words. You can find further details about how to find exact phrases in the [exact match article](https://redis.io/docs/latest/develop/ai/search-and-query/query/exact-match?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials).
A phrase is a sentence, sentence fragment, or small group of words. You can find further details about how to find exact phrases in the [exact match article](https://redis.io/docs/latest/develop/ai/search-and-query/query/exact-match/?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials).


## Word prefix
Expand Down
4 changes: 2 additions & 2 deletions src/uc/intro.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
**Redis** is a powerful in-memory data structure store that can be used for various use cases due to its speed, simplicity, and versatility. In this tutorial, we'll explore several common use cases: matchmaking, job queue, leaderboard, and session store.

If you haven't done so already, you can upload the sample data related to this tutorial by clicking the button below. You will also need support for [JSON](https://redis.io/docs/latest/develop/data-types/json/?utm_source=redisinsight&utm_medium=app&utm_campaign=RAG_tutorial) and [Search & query](https://redis.io/docs/latest/develop/interact/search-and-query/?utm_source=redisinsight&utm_medium=app&utm_campaign=RAG_tutorial) in your database to take advantage of this tutorial fully.
If you haven't done so already, you can upload the sample data related to this tutorial by clicking the button below. You will also need support for [JSON](https://redis.io/docs/latest/develop/data-types/json/?utm_source=redisinsight&utm_medium=app&utm_campaign=RAG_tutorial) and [Search & query](https://redis.io/docs/latest/develop/ai/search-and-query/?utm_source=redisinsight&utm_medium=app&utm_campaign=RAG_tutorial) in your database to take advantage of this tutorial fully.

```redis:[run_confirmation=true] Upload Sample Data

Expand Down Expand Up @@ -269,7 +269,7 @@ HGETALL sample_session:074529275

### Job queue

In many applications, tasks need to be processed asynchronously, such as maintaining a waiting list for a helpdesk where incoming support tickets are queued for processing. A job queue helps manage these tasks efficiently. In Redis, a [job queue](https://redis.io/glossary/redis-queue/) can be implemented using the List data structure. When a new task needs to be queued, it is added to the left end of the list (using the LPUSH command). When a worker is ready to process a task, it dequeues it from the right end of the list (using the RPOP command).
In many applications, tasks need to be processed asynchronously, such as maintaining a waiting list for a helpdesk where incoming support tickets are queued for processing. A job queue helps manage these tasks efficiently. In Redis, a [job queue](https://redis.io/glossary/redis-queue/?utm_source=redisinsight&utm_medium=app&utm_campaign=RAG_tutorial) can be implemented using the List data structure. When a new task needs to be queued, it is added to the left end of the list (using the LPUSH command). When a worker is ready to process a task, it dequeues it from the right end of the list (using the RPOP command).


```redis:[run_confirmation=true] Create a job ticket
Expand Down
2 changes: 1 addition & 1 deletion src/vss/learn-more.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
### Documentation

* [Vector search home](https://redis.io/docs/latest/develop/interact/search-and-query/query/vector-search/?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials)
* [Vector search home](https://redis.io/docs/latest/develop/ai/search-and-query/query/vector-search/?utm_source=redisinsight&utm_medium=main&utm_campaign=tutorials)

### Redis University
* Take the [Introduction to Vector Search](https://university.redis.io/course/yz1lretjfpdlew?utm_source=redisinsight&utm_medium=app&utm_campaign=tutorials) course in Redis University for a deeper dive on Vector Search.
Expand Down
2 changes: 1 addition & 1 deletion src/vss/vectors-basic.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Each three-element list represents a preference score for:
- road bikes

**Note:**
> This is just a trivial example that was created as an illustration. Vector embeddings for real projects can be huge. For a more realistic example, see this [vector search quick start guide](https://redis.io/docs/get-started/vector-database/).
> This is just a trivial example that was created as an illustration. Vector embeddings for real projects can be huge. For a more realistic example, see this [vector search quick start guide](https://redis.io/solutions/vector-database/?utm_source=redisinsight&utm_medium=app&utm_campaign=vss_tutorial).

To conduct vector searches, you must first create an index and then load your data.

Expand Down