-
Notifications
You must be signed in to change notification settings - Fork 155
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RC: Redis Flex on Essentials Preview #950
Merged
Changes from 4 commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
c1b13b7
Flex changes
cmilesb 82507cc
changelog
cmilesb 7bb5f1e
Apply suggestions from code review
cmilesb fb16eb2
Merge branch 'main' into DOC-4622
cmilesb 29c5dd5
Update content/operate/rc/subscriptions/view-essentials-subscription/…
cmilesb File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
3. Select your Redis use case. There are four pre-defined use cases: | ||
|
||
{{<image filename="images/rc/create-database-redis-use-cases.png" alt="The Redis Use case panel">}} | ||
|
||
- **Cache**: Stores short-term or volatile data. Can be used for session management, semantic cache, session store, and other uses where data is short-lived. | ||
- **Database**: Stores durable and consistent data. Can be used for document databases, feature storage, gaming leaderboards, durable caches, and other uses where your data needs to be highly available and persistent. | ||
- **Vector search**: Manages and manipulates vector data. Can be used for Generative AI, recommendation systems, visual search, and other uses where you can search and query your data. | ||
- **Custom**: If your Redis use case doesn't match any of the other use cases, you can choose this option to customize all of your settings. | ||
|
||
Select the use case that best matches your Redis use case. You can always change the settings later. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
140 changes: 140 additions & 0 deletions
140
content/operate/rc/databases/create-database/create-flex-database.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,140 @@ | ||
--- | ||
Title: Create a Redis Flex database | ||
alwaysopen: false | ||
categories: | ||
- docs | ||
- operate | ||
- rc | ||
description: Shows how to create an Redis Flex database on Redis Cloud and describes the best use cases for Redis Flex. | ||
linkTitle: Create Redis Flex database | ||
weight: 8 | ||
tocEmbedHeaders: true | ||
--- | ||
|
||
Redis Flex databases have a tiered solid state drive (SSD) and RAM architecture. Using SSDs instead of RAM significantly reduces infrastructure costs, which means developers can build applications that require large datasets using the same Redis API. | ||
|
||
Redis Flex databases are compatible with most existing Redis applications, except for applications that use Search and Query and Time Series. | ||
|
||
Redis Flex is currently available in preview on Redis Cloud Essentials. | ||
|
||
## Redis Flex use cases | ||
|
||
The benefits associated with Redis Flex are dependent on the use case. | ||
|
||
Redis Flex is ideal when your: | ||
|
||
- working set is significantly smaller than your dataset (high RAM hit rate) | ||
- average key size is smaller than average value size (all key names are stored in RAM) | ||
- most recent data is the most frequently used (high RAM hit rate) | ||
|
||
Redis Flex is not recommended for: | ||
|
||
- Long key names (all key names are stored in RAM) | ||
- Broad access patterns (any value could be pulled into RAM) | ||
- Large working sets (working set is stored in RAM) | ||
- Frequently moved data (moving to and from RAM too often can impact performance) | ||
|
||
Redis Flex is not intended to be used for persistent storage. | ||
|
||
## Where is my data? | ||
|
||
When using Redis Flex, RAM storage holds: | ||
- All keys (names) | ||
- Key indexes | ||
- Dictionaries | ||
- Hot data (working set) | ||
|
||
All data is accessed through RAM. If a value in flash memory is accessed, it becomes part of the working set and is moved to RAM. These values are referred to as “hot data”. | ||
|
||
Inactive or infrequently accessed data is referred to as “warm data” and stored in flash memory. When more space is needed in RAM, warm data is moved from RAM to flash storage. | ||
|
||
## Create a Redis Flex database on Redis Cloud Essentials | ||
|
||
{{< embed-md "rc-create-db-first-steps.md" >}} | ||
|
||
3. Select your Redis use case. There are three pre-defined use cases supported with Redis Flex: | ||
|
||
{{<image filename="images/rc/create-database-redis-use-cases.png" alt="The Redis Use case panel">}} | ||
|
||
- **Cache**: Stores short-term or volatile data. Can be used for session management, semantic cache, session store, and other uses where data is short-lived. | ||
- **Database**: Stores durable and consistent data. Can be used for document databases, feature storage, gaming leaderboards, durable caches, and other uses where your data needs to be highly available and persistent. | ||
- **Custom**: If your Redis use case doesn't match any of the other use cases, you can choose this option to customize all of your settings. | ||
|
||
Select the use case that best matches your Redis use case. You can always change the settings later. | ||
|
||
The **Vector search** use case is not supported with Redis Flex. | ||
|
||
{{< note >}} | ||
See [Use case settings](#use-case-settings) to view the default settings for each use case. | ||
{{< /note >}} | ||
|
||
4. Select the type of [subscription]({{< relref "/operate/rc/subscriptions" >}}) you need. For this guide, select **Redis Flex**. | ||
|
||
{{<image filename="images/rc/create-database-subscription-flex.png" alt="The Subscription selection panel with Redis Flex selected.">}} | ||
|
||
{{< note >}} | ||
This guide shows how to create a Redis Flex database on Redis Cloud Essentials. | ||
- If you'd rather create a Redis on RAM Essentials database, see [Create an Essentials database]({{< relref "/operate/rc/databases/create-database/create-essentials-database" >}}). | ||
- If you'd rather create a Pro database, see [Create a Pro database with a new subscription]({{< relref "/operate/rc/databases/create-database/create-pro-database-new" >}}). | ||
- If you already have a Pro subscription and want to add a database to it, see [Create a Pro database in an existing subscription]({{< relref "/operate/rc/databases/create-database/create-pro-database-existing" >}}). | ||
{{< /note >}} | ||
|
||
After you select **Redis Flex**, the rest of the database details will appear. | ||
|
||
{{<image filename="images/rc/create-database-essentials-cloud-vendor.png" alt="The database name, cloud vendor, region, and type settings.">}} | ||
|
||
1. Redis will generate a database name for you. If you want to change it, you can do so in the **Database name** field. | ||
|
||
1. Choose a **Region** on Amazon Web Services for your database. | ||
|
||
1. In the **Durability settings** panel, choose your **High availability settings** and **Data persistence** settings from the list. | ||
|
||
{{<image filename="images/rc/create-database-essentials-durability.png" alt="The durability settings allow you to choose High availability and Data persistence.">}} | ||
|
||
|
||
Redis Cloud supports the following high availability settings: | ||
|
||
- **None**: You will have a single copy of your database without replication. | ||
- **Single-Zone**: Your database will have a primary and a replica located in the same cloud zone. If anything happens to the primary, the replica takes over and becomes the new primary. | ||
- **Multi-Zone**: The primary and its replicas are stored in different zones. This means that your database can remain online even if an entire zone becomes unavailable. | ||
|
||
See [High availability]({{< relref "/operate/rc/databases/configuration/high-availability" >}}) for more information about these settings. | ||
|
||
Redis Cloud supports the following Data persistence options: | ||
|
||
- An **Append-Only File** maintains a record (sometimes called a _redo log_ or _journal_) of write operations. This allows the data to be restored by using the record to reconstruct the database up to the point of failure. For Essentials databases, Redis updates the Append-Only file every second. | ||
|
||
- A **Snapshot** is a copy of the in-memory database, taken at periodic intervals (one, six, or twelve hours). You can restore data to the snapshot's point in time. | ||
|
||
See [Data persistence]({{< relref "/operate/rc/databases/configuration/data-persistence" >}}) for more information about these settings. | ||
|
||
These settings may already be set based on the use case you selected. You can change them now if you like. | ||
|
||
1. Select the desired memory limit. | ||
|
||
{{<image filename="images/rc/subscription-new-fixed-tiers.png" alt="Available Redis Flex plans." >}} | ||
|
||
For a comparison of available plans, see [Redis Cloud Essentials plans]({{< relref "/operate/rc/subscriptions/view-essentials-subscription/essentials-plan-details" >}}). | ||
|
||
1. Enter your payment details. | ||
|
||
If you haven't previously entered a payment method, use the **Add Credit Card** button to add one. | ||
|
||
{{<image filename="images/rc/icon-add-credit-card.png" alt="The Add credit card icon." >}} | ||
|
||
1. Select **Confirm & pay** to create your database. | ||
|
||
{{<image filename="images/rc/button-create-db-confirm-pay.png" width="140px" alt="Select Confirm & Pay to create your new database." >}} | ||
|
||
When you create your database, there's a brief pause while your request is processed and then the **Database details** page appears. | ||
|
||
|
||
### Use case settings | ||
|
||
The following table shows the default use case settings for an Essentials database. | ||
|
||
| **Type** | High Availability | Data Persistence | Size | Eviction Policy | | ||
|---|---|---|---|---| | ||
| **Cache** | None | None | 30 MB - 12 GB | `volatile-lru` | | ||
| **Database** | Multi-zone | Append-only file every 1 sec | 250 MB - 12 GB | None | | ||
| **Custom** | Single-zone | Append-only file every 1 sec | 250 MB - 12 GB | None | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified
BIN
-1.08 KB
(97%)
static/images/rc/create-database-subscription-essentials.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
are we using RAM or DRAM in other references on the docs?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I adapted this wording from the current Auto tiering docs, which uses RAM, not DRAM. I can replace it if it makes sense.