Skip to content

Commit 01907d8

Browse files
committed
Merge branch 'main' into DOC-4137
2 parents c3e501e + 7dcb548 commit 01907d8

File tree

12 files changed

+173
-30
lines changed

12 files changed

+173
-30
lines changed
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
name: redis_modules_docs_sync
2+
3+
on:
4+
schedule:
5+
- cron: '0 0 * * *' # run every day at midnight UTC time
6+
workflow_dispatch: # or run on manual trigger
7+
8+
jobs:
9+
redis_modules_docs_sync:
10+
runs-on: ubuntu-latest
11+
permissions:
12+
contents: write
13+
pull-requests: write
14+
actions: write
15+
steps:
16+
- name: 'Checkout'
17+
uses: 'actions/checkout@v3'
18+
19+
- name: 'Fetch commands json files from modules'
20+
env:
21+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
22+
run: |
23+
branch="redis_modules_docs_sync"
24+
modules_list=("redisjson" "redisbloom" "redistimeseries" "redisearch")
25+
module_change=false
26+
27+
# check if remote branch already exists
28+
git fetch --all
29+
set +e
30+
git ls-remote --exit-code --heads origin "refs/heads/${branch}"
31+
if [ "$?" -eq 0 ]; then
32+
set -e
33+
# if it does, create local branch off existing remote branch
34+
git checkout -b "${branch}" "origin/${branch}"
35+
git branch --set-upstream-to="origin/${branch}" "${branch}"
36+
git pull
37+
else
38+
set -e
39+
# otherwise, create local branch from main
40+
git checkout -b "${branch}"
41+
fi
42+
43+
for module in "${modules_list[@]}"; do
44+
# Find latest version
45+
module_version=$(
46+
curl -Ls \
47+
-H "Accept: application/vnd.github+json" \
48+
-H "Authorization: Bearer ${GH_TOKEN}" \
49+
-H "X-GitHub-Api-Version: 2022-11-28" \
50+
"https://api.github.com/repos/${module}/${module}/releases/latest" \
51+
| jq -r '.tag_name'
52+
)
53+
54+
# Fetch release
55+
gh release download "$module_version" -R "${module}/${module}" -A zip -O "${module}.zip"
56+
unzip "${module}.zip" -d "${module}"
57+
cp ${module}/*/commands.json "data/commands_${module}.json"
58+
59+
modules_commands_is_different=$(git diff "data/commands_${module}.json")
60+
if [[ ! -z $modules_commands_is_different ]]; then
61+
module_change=true
62+
63+
git add "data/commands_${module}.json"
64+
git config user.email "177626021+redisdocsapp[bot]@users.noreply.github.com"
65+
git config user.name "redisdocsapp[bot]"
66+
git commit -m "Update data/commands_${module}.json for release ${module_version}"
67+
fi
68+
done
69+
70+
if [ "$module_change" = true ] ; then
71+
git push origin "${branch}"
72+
73+
# If a pr is not already open, create one
74+
set +e
75+
gh search prs -R redis/docs --state open --match title "redis modules docs sync" | grep -q "redis modules docs sync"
76+
if [ "$?" -eq 1 ]; then
77+
set -e
78+
gh pr create \
79+
--body "redis modules docs sync" \
80+
--title "redis modules docs sync" \
81+
--head "$branch" \
82+
--base "main"
83+
fi
84+
fi

content/develop/connect/clients/_index.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,11 @@ Redis does not support directly:
3939
| Language | Client name | Github | Docs |
4040
| :-- | :-- | :-- | :-- |
4141
| C | hiredis | https://github.com/redis/hiredis | https://github.com/redis/hiredis |
42-
| [PHP](https://www.php.net/) | redis extension | https://github.com/phpredis/phpredis | https://github.com/phpredis/phpredis/blob/develop/README.md |
43-
| [PHP](https://www.php.net/) | predis library | https://github.com/predis/predis | https://github.com/predis/predis/wiki |
42+
| [PHP](https://www.php.net/) | PhpRedis extension | https://github.com/phpredis/phpredis | https://github.com/phpredis/phpredis/blob/develop/README.md |
43+
| [PHP](https://www.php.net/) | Predis library | https://github.com/predis/predis | https://github.com/predis/predis/wiki |
4444
| [Ruby](https://www.ruby-lang.org/en/) | redis-rb | https://github.com/redis/redis-rb | https://rubydoc.info/gems/redis |
45-
| [Rust](https://www.rust-lang.org/) | redis-rs | https://github.com/redis-rs/redis-rs | https://docs.rs/redis/latest/redis/ |
45+
| [Rust](https://www.rust-lang.org/) | redis-rs | https://github.com/redis-rs/redis-rs | https://docs.rs/redis/latest/redis/ |
46+
| [C++](https://en.wikipedia.org/wiki/C%2B%2B) | Boost.Redis | https://github.com/boostorg/redis | https://www.boost.org/doc/libs/develop/libs/redis/doc/html/index.html |
4647

4748
## Requirements
4849

content/develop/reference/protocol-spec.md

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -537,20 +537,22 @@ The first element is a key, followed by the corresponding value, then the next k
537537

538538
The attribute type is exactly like the Map type, but instead of a `%` character as the first byte, the `|` character is used. Attributes describe a dictionary exactly like the Map type. However the client should not consider such a dictionary part of the reply, but as auxiliary data that augments the reply.
539539

540+
Note: in the examples below, indentation is shown only for clarity; the additional whitespace would not be part of a real reply.
541+
540542
For example, newer versions of Redis may include the ability to report the popularity of keys for every executed command. The reply to the command `MGET a b` may be the following:
541543

542-
|1<CR><LF>
543-
+key-popularity<CR><LF>
544-
%2<CR><LF>
545-
$1<CR><LF>
546-
a<CR><LF>
547-
,0.1923<CR><LF>
548-
$1<CR><LF>
549-
b<CR><LF>
550-
,0.0012<CR><LF>
551-
*2<CR><LF>
552-
:2039123<CR><LF>
553-
:9543892<CR><LF>
544+
|1\r\n
545+
+key-popularity\r\n
546+
%2\r\n
547+
$1\r\n
548+
a\r\n
549+
,0.1923\r\n
550+
$1\r\n
551+
b\r\n
552+
,0.0012\r\n
553+
*2\r\n
554+
:2039123\r\n
555+
:9543892\r\n
554556

555557
The actual reply to `MGET` is just the two item array `[2039123, 9543892]`. The returned attributes specify the popularity, or frequency of requests, given as floating point numbers ranging from `0.0` to `1.0`, of the keys mentioned in the original command. Note: the actual implementation in Redis may differ.
556558

@@ -569,13 +571,13 @@ When a client reads a reply and encounters an attribute type, it should read the
569571

570572
Attributes can appear anywhere before a valid part of the protocol identifying a given type, and supply information only about the part of the reply that immediately follows. For example:
571573

572-
*3<CR><LF>
573-
:1<CR><LF>
574-
:2<CR><LF>
575-
|1<CR><LF>
576-
+ttl
577-
:3600
578-
:3<CR><LF>
574+
*3\r\n
575+
:1\r\n
576+
:2\r\n
577+
|1\r\n
578+
+ttl\r\n
579+
:3600\r\n
580+
:3\r\n
579581

580582
In the above example the third element of the array has associated auxiliary information of `{ttl:3600}`. Note that it's not up to the client library to interpret the attributes, but it should pass them to the caller in a sensible way.
581583

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
Title: Write to a Redis string
3+
aliases: null
4+
alwaysopen: false
5+
categories:
6+
- docs
7+
- integrate
8+
- rs
9+
- rdi
10+
description: null
11+
group: di
12+
linkTitle: Write to a Redis string
13+
summary: Redis Data Integration keeps Redis in sync with the primary database in near
14+
real time.
15+
type: integration
16+
weight: 30
17+
---
18+
19+
The string data type is useful for capturing a string representation of a single column from
20+
a source table.
21+
22+
In the example job below, the `title` column is captured from the `invoice` table in the source.
23+
The `title` is then written to the Redis target database as a string under a custom key of the
24+
form `AlbumTitle:42`, where the `42` is the primary key value of the table (the `albumid` column).
25+
26+
The `connection` is an optional parameter that refers to the corresponding connection name defined in
27+
[`config.yaml`]({{< relref "integrate/redis-data-integration/data-pipelines/data-pipelines#the-configyaml-file" >}}).
28+
When you specify the `data_type` parameter for the job, it overrides the system-wide setting `target_data_type` defined in `config.yaml`. Here, the `string` data type also requires an `args` subsection
29+
with a `value` argument that specifies the column you want to capture from the source table.
30+
31+
The optional `expire` parameter sets the length of time, in seconds, that a new key will
32+
persist for after it is created (here, it is 86400 seconds, which equals one day).
33+
After this time, the key will be deleted automatically.
34+
If you don't supply an `expire` parameter, the keys will never expire.
35+
36+
```yaml
37+
source:
38+
server_name: chinook
39+
table: album
40+
row_format: full
41+
output:
42+
- uses: redis.write
43+
with:
44+
connection: target
45+
data_type: string
46+
key:
47+
expression: concat(['AlbumTitle:', values(key)[0]])
48+
language: jmespath
49+
args:
50+
value: title
51+
expire: 86400
52+
```

content/integrate/write-behind/data-transformation/data-transformation-pipeline.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ For example, the default job can streamline tasks such as adding a prefix or pos
3232
Currently, the default job is supported for ingest pipelines only.
3333

3434
### Example
35-
This example demonstrates the process of adding an `app_code` field with a value of `foo` using the [add_field]({{<relref "/content/rdi/reference/data-transformation-block-types/add_field/">}}) block to all tables that lack explicitly defined jobs. Additionally, it appends an `aws` prefix and a `gcp` postfix to every generated hash key.
35+
This example demonstrates the process of adding an `app_code` field with a value of `foo` using the [add_field]({{<relref "/integrate/write-behind/reference/data-transformation-block-types/add_field">}}) block to all tables that lack explicitly defined jobs. Additionally, it appends an `aws` prefix and a `gcp` postfix to every generated hash key.
3636

3737
default.yaml
3838
```yaml

content/operate/kubernetes/deployment/deployment-options.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,10 @@ You can deploy Redis Enterprise for Kubernetes in several different ways dependi
1515

1616
Multiple Redis Enterprise database resources (REDB) can be associated with single Redis Enterprise cluster resource (REC) even if they reside in different namespaces.
1717

18-
{{<note>}} The Redis Enterprise cluster (REC) custom resource must reside in the same namespace as the Redis Enterprise operator.
19-
{{</note>}}
18+
The Redis Enterprise cluster (REC) custom resource must reside in the same namespace as the Redis Enterprise operator.
19+
20+
{{<warning>}} Multi-namespace installations don't support Active-Active databases (REEADB). Only databases created with the REDB resource are supported in multi-namespace deployments at this time.{{</warning>}}
21+
2022

2123
## Single REC and single namespace (one-to-one)
2224

content/operate/kubernetes/re-clusters/multi-namespace.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ Multiple Redis Enterprise database resources (REDBs) can be associated with a si
1616

1717
To learn more about designing a multi-namespace Redis Enterprise cluster, see [flexible deployment options]({{< relref "/operate/kubernetes/deployment/deployment-options.md" >}}).
1818

19+
{{<warning>}} Multi-namespace installations don't support Active-Active databases (REEADB). Only databases created with the REDB resource are supported in multi-namespace deployments at this time.{{</warning>}}
20+
1921
## Prerequisites
2022

2123
Before configuring a multi-namespace deployment, you must have a running [Redis Enterprise cluster (REC)]({{< relref "/operate/kubernetes/deployment/quick-start.md" >}}). See more information in the [deployment]({{< relref "/operate/kubernetes/deployment/" >}}) section.

content/operate/kubernetes/release-notes/6-2-18-releases/k8s-6-2-18-3.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,4 +171,4 @@ On clusters with more than 9 REC nodes, a Kubernetes upgrade can render the Redi
171171

172172
## Security
173173

174-
For a list of fixes related to CVEs, see the [Redis Enterprise 6.2.18-58 release notes]({{<relref "operate/rs/release-notes/rs-6-2-18-releases/rs-6-2-18-58/#security">}}).
174+
For a list of fixes related to CVEs, see the [Redis Enterprise 6.2.18-58 release notes]({{<relref "operate/rs/release-notes/rs-6-2-18-releases/rs-6-2-18-58#security">}}).

content/operate/kubernetes/release-notes/6-2-18-releases/k8s-6-2-18-41-jan-2023.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,4 @@ See [Redis Enterprise for Kubernetes release notes 6.2.18-41 (Dec 2022)]({{< rel
6060

6161
## Security
6262

63-
For a list of fixes related to CVEs, see the [Redis Enterprise 6.2.18-72 release notes]({{<relref "operate/rs/release-notes/rs-6-2-18-releases/rs-6-2-18-72/#security">}}).
63+
For a list of fixes related to CVEs, see the [Redis Enterprise 6.2.18-72 release notes]({{<relref "operate/rs/release-notes/rs-6-2-18-releases/rs-6-2-18-70#security">}}).

content/operate/kubernetes/release-notes/6-2-18-releases/k8s-6-2-18-41.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,4 +141,4 @@ On clusters with more than 9 REC nodes, a Kubernetes upgrade can render the Redi
141141

142142
## Security
143143

144-
For a list of fixes related to CVEs, see the [Redis Enterprise 6.2.18-65 release notes]({{<relref "operate/rs/release-notes/rs-6-2-18-releases/rs-6-2-18-65/#security">}}).
144+
For a list of fixes related to CVEs, see the [Redis Enterprise 6.2.18-65 release notes]({{<relref "operate/rs/release-notes/rs-6-2-18-releases/rs-6-2-18-65#security">}}).

0 commit comments

Comments
 (0)