diff --git a/src/ds/hashes.md b/src/ds/hashes.md index 0342214..b08b946 100644 --- a/src/ds/hashes.md +++ b/src/ds/hashes.md @@ -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). @@ -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. diff --git a/src/ds/json/adv-jsonpath.md b/src/ds/json/adv-jsonpath.md index c321c7c..6eb7a0b 100644 --- a/src/ds/json/adv-jsonpath.md +++ b/src/ds/json/adv-jsonpath.md @@ -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. diff --git a/src/ds/json/learn-more.md b/src/ds/json/learn-more.md index c802174..deb2f5e 100644 --- a/src/ds/json/learn-more.md +++ b/src/ds/json/learn-more.md @@ -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 diff --git a/src/ds/lists.md b/src/ds/lists.md index 5946092..4e1534d 100644 --- a/src/ds/lists.md +++ b/src/ds/lists.md @@ -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. diff --git a/src/ds/prob/bloom-cuckoo.md b/src/ds/prob/bloom-cuckoo.md index 2edc629..59d89d8 100644 --- a/src/ds/prob/bloom-cuckoo.md +++ b/src/ds/prob/bloom-cuckoo.md @@ -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 diff --git a/src/ds/prob/intro.md b/src/ds/prob/intro.md index 96f6ace..e172d72 100644 --- a/src/ds/prob/intro.md +++ b/src/ds/prob/intro.md @@ -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). diff --git a/src/ds/prob/learn-more.md b/src/ds/prob/learn-more.md index 64d82a5..d3d0360 100644 --- a/src/ds/prob/learn-more.md +++ b/src/ds/prob/learn-more.md @@ -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 diff --git a/src/ds/sets.md b/src/ds/sets.md index 42aa1f2..5641e41 100644 --- a/src/ds/sets.md +++ b/src/ds/sets.md @@ -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. diff --git a/src/ds/sorted_sets.md b/src/ds/sorted_sets.md index 2356f91..8e8a2bf 100644 --- a/src/ds/sorted_sets.md +++ b/src/ds/sorted_sets.md @@ -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. diff --git a/src/ds/strings.md b/src/ds/strings.md index 4ae61b7..ac4780f 100644 --- a/src/ds/strings.md +++ b/src/ds/strings.md @@ -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. diff --git a/src/ds/ts/intro.md b/src/ds/ts/intro.md index 464ea32..9c03008 100644 --- a/src/ds/ts/intro.md +++ b/src/ds/ts/intro.md @@ -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). diff --git a/src/ds/ts/learn-more.md b/src/ds/ts/learn-more.md index 285f588..f3d433d 100644 --- a/src/ds/ts/learn-more.md +++ b/src/ds/ts/learn-more.md @@ -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 diff --git a/src/sq/aggregations.md b/src/sq/aggregations.md index 0f28cd4..00d6550 100644 --- a/src/sq/aggregations.md +++ b/src/sq/aggregations.md @@ -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: @@ -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. diff --git a/src/sq/full-text.md b/src/sq/full-text.md index 66bb818..0dd336b 100644 --- a/src/sq/full-text.md +++ b/src/sq/full-text.md @@ -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: @@ -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 diff --git a/src/uc/intro.md b/src/uc/intro.md index 341863b..575f4ce 100644 --- a/src/uc/intro.md +++ b/src/uc/intro.md @@ -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 @@ -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 diff --git a/src/vss/learn-more.md b/src/vss/learn-more.md index f073f30..905c82f 100644 --- a/src/vss/learn-more.md +++ b/src/vss/learn-more.md @@ -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. diff --git a/src/vss/vectors-basic.md b/src/vss/vectors-basic.md index fd483d2..6f9a1d5 100644 --- a/src/vss/vectors-basic.md +++ b/src/vss/vectors-basic.md @@ -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.