- What's New
- Function Overview
- Product Bulletin
- Service Overview
-
GeminiDB Redis API
- Service Overview
- Getting Started with GeminiDB Redis API
-
Working with GeminiDB Redis API
- IAM Permissions Management
- Billing Management
- Buying an Instance
-
Connecting to an Instance
- Connection Modes
- Connecting to GeminiDB Redis Instances Through DAS
- Connecting to GeminiDB Redis Instances over a Private Network
- Connecting to GeminiDB Redis Instances over a Public Network
- Configuring a Private Domain Name
- Configuring a Public Domain Name
- Configuring Security Group Rules for Nodes
- Binding and Unbinding an EIP
- Viewing the IP Address and Port Number
- Configuring an SSL Connection
- Connecting to a instance Using SSL
- Changing a Node Security Group
- Enabling or Disabling Private Network Access for a Load Balancer
- Instance Statuses
- Instance Lifecycle Management
- Instance Changes
- Audit
- Monitoring and Alarm Configuration
- Data Backup
- Data Restoration
- Memory Acceleration
-
Data Migration
- Overview of the Redis Data Migration Solution
- Verifying Redis Data Consistency After Migration
- Migrating the Alibaba Cloud Database Redis/Tair To GeminiDB Redis
- From On-Premises Redis to GeminiDB Redis API
- Migration from an RDB to a GeminiDB Redis Instance Using a Migration Tool
- Restoring RDB Files to GeminiDB Redis API (Recommended)
- From Kvrocks to GeminiDB Redis API
- From Pika to GeminiDB Redis API
- From SSDB to GeminiDB Redis API
- From LevelDB to GeminiDB Redis API
- From Kvrocks to GeminiDB Redis API
- Migrating AWS Elastic Cache for Redis Databases To GeminiDB Redis
-
FAQs
- Most Asked Questions
-
About GeminiDB Redis API
- What Are the Differences Between GeminiDB Redis API, Open-Source Redis, and Other Open-Source Redis Cloud Services?
- How Is the Performance of GeminiDB Redis API Compared with Open-Source Redis?
- What Redis Versions and Commands Are Compatible with GeminiDB Redis API? Whether Applications Need to Be Changed for Client Connection?
- Can Data Be Migrated from a Self-Built Redis Instance to a GeminiDB Redis Instance? What Are the Precautions?
- What Is the Availability of a GeminiDB Redis Instance?
- Are Total Memory and Total Capacity of a GeminiDB Redis Instance the Same? What Is the Relationship Between Memory and Capacity?
- How Do I Select Proper Node Specifications and Node Quantity When Purchasing a GeminiDB Redis Instance?
- How Does GeminiDB Redis API Persist Data? Will Data Be Lost?
- What Is the Memory Eviction Policy of GeminiDB Redis API?
- Does GeminiDB Redis API Support Modules Such as a Bloom Filter?
- Billing
-
Database Usage
- Why Is the Key Not Returned Using Scan Match?
- How Do I Process Existing Data Shards After Migrating Workloads to GeminiDB Redis API?
- Does GeminiDB Redis API Support Fuzzy Query Using the Keys Command?
- Does the GeminiDB Redis API Support Multiple Databases?
- Why the Values Returned by Scan Operations Are Different Between GeminiDB Redis API and Open-Source Redis 5.0?
- Why Are Error Messages Returned by Some Invalid Commands Different Between GeminiDB Redis API and Open-Source Redis 5.0?
- How Do I Resolve the Error "CROSSSLOT Keys in request don't hash to the same slot"?
- How Many Commands Can Be Contained in a GeminiDB Redis Transaction?
- Which Commands Require Hash Tags in GeminiDB Redis Cluster Instances?
- What Do I Do If the Error "ERR Unknown Command Sentinel" Is Displayed?
- How Long Does It Take to Add GeminiDB Redis Nodes at the Same Time? What Are the Impacts on Services?
- What Are the Differences Between Online and Offline Specification Changes of GeminiDB Redis Nodes? How Long Will the Changes Take? What Are the Impacts on Services?
- Can I Download Backups of a GeminiDB Redis Instance to a Local PC and Restore Data Offline?
- What Is the Data Backup Mechanism of GeminiDB Redis API? What Are the Impacts on Services?
- Why Does the CPU Usage Remain High Despite Low Service Access Volume on a GeminiDB Redis Preferential Instance with 1 CPU and 2 Nodes?
- Why Does the Number of Keys Decrease and Then Become Normal on the Monitoring Panel on the GUI of GeminiDB Redis API?
- Why Is CPU Usage of GeminiDB Redis Nodes Occasionally High?
- When Does a GeminiDB Redis Instance Become Read-Only?
-
Database Connection
- How Do I Connect to a GeminiDB Redis Instance?
- What Can I Do with IP Addresses of GeminiDB Redis Nodes?
- How Does Load Balancing Work in GeminiDB Redis API?
- How Can I Create and Connect to an ECS?
- Can I Change the VPC of a GeminiDB Redis Instance?
- How Do I Access a GeminiDB Redis Instance from a Private Network?
- Do I Need to Enable Private Network Access Control for a Load Balancer After Setting a Security Group?
- Backup and Restoration
-
Memory Acceleration
- Will All Data Be Cached to GeminiDB Redis Instances After Memory Acceleration Is Enabled and MySQL Database Data Is Updated?
- If Memory Acceleration Is Enabled, GeminiDB Redis Instance Data Increases Continuously. Do I Need to Scale Out the Capacity? How Do I Manage Cached Data?
- Is Memory Acceleration Recommended When Customers' Service Data Can Be Synchronized Between MySQL and Redis? In Which Scenarios Can Memory Acceleration Be enabled?
- How Long Is the Latency of Synchronization from RDS for MySQL to GeminiDB Redis API? What Factors Affect the Latency?
- Will the Source MySQL Database Be Affected After Memory Acceleration Is Enabled?
- GeminiDB Redis Instances with Memory Acceleration Enabled Needs to Process a Large Number of Binlogs in a Short Period of Time. Will a Large Number of Resources Be Occupied and Online Services Be Affected?
- Instance Freezing, Release, Deletion, and Unsubscription
-
GeminiDB Influx API
- Service Overview
- Getting Started with GeminiDB Influx API
-
Working with GeminiDB Influx API
- Permissions Management
- Instance Lifecycle
- Instance Modifications
- Connection Management
- Migrating Data
- Database Commands
- Cold and Hot Data Separation
- Data Backup
- Data Restoration
-
Parameter Template Management
- Creating a Parameter Template
- Modifying a Parameter Template
- Viewing Parameter Change History
- Exporting a Parameter Template
- Comparing Parameter Templates
- Replicating a Parameter Template
- Resetting a Parameter Template
- Applying a Parameter Template
- Viewing Application Records of a Parameter Template
- Modifying a Parameter Template Description
- Deleting a Parameter Template
- Monitoring and Alarm Reporting
- Audit on Instance Operations
- Billing Management
-
FAQs
-
Product Consulting
- What Do I Need to Note When Using GeminiDB Influx?
- What Does the Availability of GeminiDB Influx Instances Mean?
- Does GeminiDB Influx Can Convert Multiple Columns to Multiple Rows?
- How Much Data Can GeminiDB Influx Hold?
- Can I Access GeminiDB Influx Using Grafana?
- How Do I Use GeminiDB Influx Hints?
- What Do I Do If Error "select *" query without time range is not allowed Is Reported?
- Billing
- Database Connection
- Backup and Restoration
- Regions and AZs
- Instance Freezing, Release, Deletion, and Unsubscription
-
Product Consulting
- Change History
-
GeminiDB Cassandra API
- Service Overview
- Getting Started with GeminiDB Cassandra API
-
Working with GeminiDB Cassandra API
- Permissions Management
- Buying an Instance
- Instance Connections
- Instance Lifecycle
- Instance Modifications
- Connection Management
- Data Management
- Intra-region DR
- Cross-region Dual-active DR
- Data Backup
- Data Restoration
-
Parameter Template Management
- Creating a Parameter Template
- Modifying Parameters of GeminiDB Cassandra Instances
- Viewing Parameter Change History
- Exporting a Parameter Template
- Comparing Parameter Templates
- Replicating a Parameter Template
- Resetting a Parameter Template
- Applying a Parameter Template
- Viewing Application Records of a Parameter Template
- Modifying a Parameter Template Description
- Deleting a Parameter Template
- Audit
- Monitoring and Alarm Configuration
- Enterprise Project
- Billing Management
-
FAQs
- Product Consulting
- Billing
-
Database Usage
- Why Does the Overall Instance Performance Deteriorate When QPS Increases After the Batch Size Is Decreased?
- What Can I Do if Error "field larger than field limit (131072)" Is Reported During Data Import?
- What Should I Pay Attention to When Creating a GeminiDB Cassandra Table?
- How Do I Detect and Resolve BigKey and HotKey Issues?
- How Do I Set Up a Materialized View?
- How Do I Use a Secondary Index?
- How Do I Set Paging Query with Java?
- Database Connection
- Backup and Restoration
- Instance Freezing, Release, Deletion, and Unsubscription
- GeminiDB DynamoDB Instances
-
API Reference
- Before You Start
- API Overview
- Calling APIs
- Quick Start
-
APIs v3
- API Versions
- Versions and Specifications
-
Instances
- Creating an Instance
- Deleting an Instance
- Querying Instances and Details
- Scaling Up Storage Space of an Instance
- Adding Nodes for an Instance
- Deleting Nodes from a Specified Instance
- Obtaining Sessions of a Node
- Querying Session Statistics of an Instance Node
- Closing Sessions of an Instance Node
- Changing Specifications of an Instance
- Resetting the Administrator Password of an Instance
- Editing the Name of an Instance
- Changing the Security Group of an Instance
- Upgrading Minor Version
- Backups and Restorations
-
Parameter Templates
- Obtaining Parameter Templates
- Creating a Parameter Template
- Modifying Parameters in a Parameter Template
- Applying a Parameter Template
- Modifying Parameters of a Specified Instance
- Querying Instance Parameter Settings
- Obtaining Parameters of a Specified Parameter Template
- Deleting a Parameter Template
- Tags
- Quotas
- Disaster Recovery
- API v3 (Unavailable Soon)
- Permission Policies and Supported Actions
- Appendixes
- Change History
- SDK Reference
How Do I Set Up a Materialized View?
Concept
A materialized view is a standard CQL table that automatically maintains the consistency between the data that meets certain conditions and the data in the base tables.
Constraints
- The primary key of a materialized view must contain all primary keys of the base table. Static columns cannot be included in a materialized view.
- All columns that are part of the view primary key are restricted by the "IS NOT NULL" restriction, meaning that they cannot be null.
- In a materialized view, a CQL row must be mapped from the base table to another row of the view, meaning that the rows of the view and base table correspond to each other.
- The WHERE condition of the SELECT statement does not constrain non-primary key columns in a view, except the IS NOT NULL condition.
Figure 1 Example value
- Static columns, counter, superColumn, and duration types are not supported.
Setting Up a Materialized View
- Insert a record into the base table and query the result.
CREATE TABLE person ( id int, name text, addr text, age int, email text, PRIMARY KEY (id, name));
Insert a record.
insert into person(id, name, age, addr, email) values (0, 'ruby', 26, 'beijing', 'ruby@email.com');
Query the result.
Figure 2 Querying the result - Create a materialized view.
CREATE MATERIALIZED VIEW person_addr AS
SELECT * from person WHERE id IS NOT NULL AND addr IS NOT NULL AND name IS NOT NULL
primary key (addr, id, name);
The system_schema.views table records the association between views and base tables.
Figure 3 Mapping between views and base tablesThe query results that do not meet the condition are not displayed, for example, IS NOT NULL.
- Insert a record in which the addr value is null.
insert into person(id, name, age, addr, email) values (1, 'mike', 30, null, 'mike@email.com');
Query the data in the base table and materialized view.
Figure 4 Querying the result - Delete the materialized view.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.