Skip to content

Commit 8e70228

Browse files
committed
Merge branch 'main' into DOC-3624
2 parents ef2548d + 532f386 commit 8e70228

File tree

815 files changed

+80634
-3124
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

815 files changed

+80634
-3124
lines changed

.github/workflows/main.yml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -150,11 +150,14 @@ jobs:
150150
fi \
151151
&& ./google-cloud-sdk/bin/gsutil -m rsync -r -c -j html -d ${{ github.workspace }}/public gs://$BUCKET/$bucket_path
152152
153-
versioned_builds=($(find . -type d -regex ".*[0-9-]" -maxdepth 1 | sed -E 's/^.\///'))
154-
for versioned_build in "${versioned_builds[@]}"; do
155-
product=$(grep -Eo '[a-zA-Z]+' <<< $versioned_build)
156-
gsutil -m rsync -r -c -j html -d "${{ github.workspace }}/${versioned_build}/operate/${product}" "gs://${BUCKET}/${versioned_build}/operate/${product}"
157-
done
153+
if [[ "${{ github.ref_name }}" == "latest" ]]
154+
then
155+
versioned_builds=($(find . -type d -regex ".*[0-9-]" -maxdepth 1 | sed -E 's/^.\///'))
156+
for versioned_build in "${versioned_builds[@]}"; do
157+
product=$(grep -Eo '[a-zA-Z]+' <<< $versioned_build)
158+
gsutil -m rsync -r -c -j html -d "${{ github.workspace }}/${versioned_build}/operate/${product}" "gs://${BUCKET}/${versioned_build}/operate/${product}"
159+
done
160+
fi
158161
159162
- name: End
160163
run: echo "This job's status is ${{ job.status }}."

content/apis/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Redis comes with a wide range of commands that help you to develop real-time app
1818

1919
As a developer, you will likely use one of our supported client libraries for connecting and executing commands.
2020

21-
- [Connect with Redis clients introduction]({{< relref "/develop/connect/clients/" >}})
21+
- [Connect with Redis clients introduction]({{< relref "/develop/clients" >}})
2222

2323
### Programmability APIs
2424

content/commands/client-caching/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ title: CLIENT CACHING
4343
This command controls the tracking of the keys in the next command executed
4444
by the connection, when tracking is enabled in `OPTIN` or `OPTOUT` mode.
4545
Please check the
46-
[client side caching documentation]({{< relref "/develop/connect/clients/client-side-caching" >}}) for
46+
[client side caching documentation]({{< relref "/develop/clients/client-side-caching" >}}) for
4747
background information.
4848

4949
When tracking is enabled Redis, using the [`CLIENT TRACKING`]({{< relref "/commands/client-tracking" >}}) command, it is

content/commands/client-getredir/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ syntax_str: ''
3131
title: CLIENT GETREDIR
3232
---
3333
This command returns the client ID we are redirecting our
34-
[tracking]({{< relref "/develop/connect/clients/client-side-caching#tracking" >}}) notifications to. We set a client
34+
[tracking]({{< relref "/develop/clients/client-side-caching#tracking" >}}) notifications to. We set a client
3535
to redirect to when using [`CLIENT TRACKING`]({{< relref "/commands/client-tracking" >}}) to enable tracking. However in
3636
order to avoid forcing client libraries implementations to remember the
3737
ID notifications are redirected to, this command exists in order to improve

content/commands/client-tracking/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ syntax_str: "[REDIRECT\_client-id] [PREFIX\_prefix [PREFIX prefix ...]] [BCAST]
7575
title: CLIENT TRACKING
7676
---
7777
This command enables the tracking feature of the Redis server, that is used
78-
for [server assisted client side caching]({{< relref "/develop/connect/clients/client-side-caching#tracking" >}}).
78+
for [server assisted client side caching]({{< relref "/develop/clients/client-side-caching#tracking" >}}).
7979

8080
When tracking is enabled Redis remembers the keys that the connection
8181
requested, in order to send later invalidation messages when such keys are

content/commands/client-trackinginfo/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ syntax_fmt: CLIENT TRACKINGINFO
2929
syntax_str: ''
3030
title: CLIENT TRACKINGINFO
3131
---
32-
The command returns information about the current client connection's use of the [server assisted client side caching]({{< relref "/develop/connect/clients/client-side-caching" >}}) feature.
32+
The command returns information about the current client connection's use of the [server assisted client side caching]({{< relref "/develop/clients/client-side-caching" >}}) feature.
3333

3434
Here's the list of tracking information sections and their respective values:
3535

content/commands/replicaof/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ If a Redis server is already acting as replica, the command `REPLICAOF` NO ONE w
6060

6161
If a server is already a replica of some master, `REPLICAOF` hostname port will stop the replication against the old server and start the synchronization against the new one, discarding the old dataset.
6262

63-
The form `REPLICAOF` NO ONE will stop replication, turning the server into a MASTER, but will not discard the replication. So, if the old master stops working, it is possible to turn the replica into a master and set the application to use this new master in read/write. Later when the other Redis server is fixed, it can be reconfigured to work as a replica.
63+
The form `REPLICAOF` NO ONE will stop replication, turning the server into a MASTER, but will not discard the already replicated data. So, if the old master stops working, it is possible to turn the replica into a master and set the application to use this new master in read/write. Later when the other Redis server is fixed, it can be reconfigured to work as a replica.
6464

6565
## Examples
6666

content/develop/connect/clients/_index.md renamed to content/develop/clients/_index.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
---
2+
aliases: /develop/connect/clients
23
categories:
34
- docs
45
- develop
@@ -9,10 +10,11 @@ categories:
910
- oss
1011
- kubernetes
1112
- clients
13+
hideListLinks: true
1214
description: Connect your application to a Redis database and try an example
13-
linkTitle: Clients
14-
title: Connect with Redis clients
15-
weight: 45
15+
linkTitle: Client APIs
16+
title: Connect with Redis client API libraries
17+
weight: 30
1618
---
1719

1820
Use the Redis client libraries to connect to Redis servers from
@@ -21,17 +23,17 @@ for six main languages:
2123

2224
| Language | Client name | Docs | Supported |
2325
| :-- | :-- | :-- | :-- |
24-
| [Python](https://www.python.org/) | [`redis-py`](https://github.com/redis/redis-py) |[Redis Python library guide]({{< relref "/develop/connect/clients/python/redis-py" >}}) | Yes |
26+
| [Python](https://www.python.org/) | [`redis-py`](https://github.com/redis/redis-py) |[`redis-py` guide]({{< relref "/develop/clients/redis-py" >}}) | Yes |
2527
| [Python](https://www.python.org/) | [`RedisVL`](https://github.com/redis/redis-vl-python) |[RedisVL guide]({{< relref "/integrate/redisvl" >}}) | Yes
26-
| [C#/.NET](https://learn.microsoft.com/en-us/dotnet/csharp/) | [`NRedisStack`](https://github.com/redis/NRedisStack) |[C#/.NET guide]({{< relref "/develop/connect/clients/dotnet" >}}) | Yes |
27-
| [Node.js](https://nodejs.org/en) | [`node-redis`](https://github.com/redis/node-redis) | [Node.js guide]({{< relref "/develop/connect/clients/nodejs" >}}) | Yes |
28-
| [Java](https://www.java.com/en/) | [`Jedis`](https://github.com/redis/jedis) | [Jedis guide]({{< relref "/develop/connect/clients/java/jedis" >}}) | Yes |
29-
| [Java](https://www.java.com/en/) | [`Lettuce`](https://github.com/redis/lettuce) | [Lettuce guide]({{< relref "/develop/connect/clients/java/lettuce" >}}) | Yes |
30-
| [Go](https://go.dev/) | [`go-redis`](https://github.com/redis/go-redis) | [Go guide]({{< relref "/develop/connect/clients/go" >}}) | Yes |
31-
| [PHP](https://www.php.net/)| [`Predis`](https://github.com/predis/predis) | [PHP guide]({{< relref "/develop/connect/clients/php" >}}) | No |
28+
| [C#/.NET](https://learn.microsoft.com/en-us/dotnet/csharp/) | [`NRedisStack`](https://github.com/redis/NRedisStack) |[`NRedisStack` guide]({{< relref "/develop/clients/dotnet" >}}) | Yes |
29+
| [JavaScript](https://nodejs.org/en) | [`node-redis`](https://github.com/redis/node-redis) | [`node-redis` guide]({{< relref "/develop/clients/nodejs" >}}) | Yes |
30+
| [Java](https://www.java.com/en/) | [`Jedis`](https://github.com/redis/jedis) | [`Jedis` guide]({{< relref "/develop/clients/jedis" >}}) | Yes |
31+
| [Java](https://www.java.com/en/) | [`Lettuce`](https://github.com/redis/lettuce) | [`Lettuce` guide]({{< relref "/develop/clients/lettuce" >}}) | Yes |
32+
| [Go](https://go.dev/) | [`go-redis`](https://github.com/redis/go-redis) | [`go-redis` guide]({{< relref "/develop/clients/go" >}}) | Yes |
33+
| [PHP](https://www.php.net/)| [`Predis`](https://github.com/predis/predis) | [`Predis` guide]({{< relref "/develop/clients/php" >}}) | No |
3234

3335
We also provide several higher-level
34-
[object mapping (OM)]({{< relref "/develop/connect/clients/om-clients" >}})
36+
[object mapping (OM)]({{< relref "/develop/clients/om-clients" >}})
3537
libraries for [Python]({{< relref "/integrate/redisom-for-python" >}}),
3638
[C#/.NET]({{< relref "/integrate/redisom-for-net" >}}),
3739
[Node.js]({{< relref "/integrate/redisom-for-node-js" >}}), and
@@ -56,7 +58,5 @@ You will need access to a Redis server to use these libraries.
5658
You can experiment with a local installation of Redis Stack
5759
(see [Install Redis Stack]({{< relref "/operate/oss_and_stack/install/install-stack/" >}})) or with a free trial of [Redis Cloud]({{< relref "/operate/rc" >}}).
5860
To interact with a Redis server without writing code, use the
59-
[Redis CLI]({{< relref "/develop/connect/cli" >}}) and
60-
[Redis Insight]({{< relref "/develop/connect/insight" >}}) tools.
61-
62-
## Client library guides
61+
[Redis CLI]({{< relref "/develop/tools/cli" >}}) and
62+
[Redis Insight]({{< relref "/develop/tools/insight" >}}) tools.

content/develop/connect/clients/client-side-caching.md renamed to content/develop/clients/client-side-caching.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
---
2+
aliases: /develop/connect/clients/client-side-caching
23
categories:
34
- docs
45
- develop
@@ -72,6 +73,15 @@ access and update the same key:
7273

7374
{{< image filename="images/csc/CSCSeqDiagram.drawio.svg" >}}
7475

76+
## Which client libraries support client-side caching?
77+
78+
The following client libraries support CSC from the stated version onwards:
79+
80+
| Client | Version |
81+
| :-- | :-- |
82+
| [`redis-py`]({{< relref "/develop/clients/redis-py/connect#connect-using-client-side-caching" >}}) | v5.1.0 |
83+
| [`Jedis`]({{< relref "/develop/clients/jedis/connect#connect-using-client-side-caching" >}}) | v5.2.0 |
84+
7585
## Which commands can cache data?
7686

7787
All read-only commands (with the `@read`
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
---
2+
aliases: /develop/connect/clients/dotnet
3+
categories:
4+
- docs
5+
- develop
6+
- stack
7+
- oss
8+
- rs
9+
- rc
10+
- oss
11+
- kubernetes
12+
- clients
13+
description: Connect your .NET application to a Redis database
14+
linkTitle: NRedisStack (C#/.NET)
15+
title: NRedisStack guide (C#/.NET)
16+
weight: 3
17+
---
18+
19+
[NRedisStack](https://github.com/redis/NRedisStack) is the .NET client for Redis.
20+
The sections below explain how to install `NRedisStack` and connect your application
21+
to a Redis database.
22+
23+
`NRedisStack` requires a running Redis or [Redis Stack]({{< relref "/operate/oss_and_stack/install/install-stack/" >}}) server. See [Getting started]({{< relref "/operate/oss_and_stack/install/" >}}) for Redis installation instructions.
24+
25+
You can also access Redis with an object-mapping client interface. See
26+
[Redis OM for .NET]({{< relref "/integrate/redisom-for-net" >}})
27+
for more information.
28+
29+
## Install
30+
31+
Using the `dotnet` CLI, run:
32+
33+
```bash
34+
dotnet add package NRedisStack
35+
```
36+
37+
## Connect and test
38+
39+
Connect to localhost on port 6379.
40+
41+
```csharp
42+
using NRedisStack;
43+
using NRedisStack.RedisStackCommands;
44+
using StackExchange.Redis;
45+
//...
46+
ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("localhost");
47+
IDatabase db = redis.GetDatabase();
48+
```
49+
50+
You can test the connection by storing and retrieving a simple string.
51+
52+
```csharp
53+
db.StringSet("foo", "bar");
54+
Console.WriteLine(db.StringGet("foo")); // prints bar
55+
```
56+
57+
Store and retrieve a HashMap.
58+
59+
```csharp
60+
var hash = new HashEntry[] {
61+
new HashEntry("name", "John"),
62+
new HashEntry("surname", "Smith"),
63+
new HashEntry("company", "Redis"),
64+
new HashEntry("age", "29"),
65+
};
66+
db.HashSet("user-session:123", hash);
67+
68+
var hashFields = db.HashGetAll("user-session:123");
69+
Console.WriteLine(String.Join("; ", hashFields));
70+
// Prints:
71+
// name: John; surname: Smith; company: Redis; age: 29
72+
```
73+
## Redis Stack modules
74+
75+
To access Redis Stack capabilities, use the appropriate interface like this:
76+
77+
```
78+
IBloomCommands bf = db.BF();
79+
ICuckooCommands cf = db.CF();
80+
ICmsCommands cms = db.CMS();
81+
IGraphCommands graph = db.GRAPH();
82+
ITopKCommands topk = db.TOPK();
83+
ITdigestCommands tdigest = db.TDIGEST();
84+
ISearchCommands ft = db.FT();
85+
IJsonCommands json = db.JSON();
86+
ITimeSeriesCommands ts = db.TS();
87+
```
88+
89+
## More information
90+
91+
See the other pages in this section for more information and examples.

0 commit comments

Comments
 (0)