- 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 Use a Secondary Index?
Concept
In a GeminiDB Cassandra database, a primary key is the primary index, which can be used to query records. If you want to query records without the primary key, you can use secondary indexes.
Secondary Index Principles
A secondary index creates a hidden indexed table. The primary key becomes one of the columns in the hidden table.
Assume that there is a playlists table. The table structure is as follows:
CREATE TABLE playlists ( id int, song_id int, song_order int, album text, artist text, title text, PRIMARY KEY (id, song_id));
The query result is as follows.
If an index is created for the artist field, the hidden table structure is as follows.
artist is the primary key of the index table. id and song_id, functioning as the primary key of the original table, become common columns.
In Which Scenario Is the Index Not Recommended?
How Do I Use an Index?
- Creating an index
CREATE INDEX artist_names ON playlists( artist );
Note: If the original table contains a large amount of data, indexed data needs to be rebuilt before queries.
You can query the IndexInfo table to check whether the index is recreated. If the name of the created index exists, it indicates that the indexed data has been rebuilt.
Figure 3 Querying the result
- Query records by indexed column.
Figure 4 Querying the result
NOTE:Each table can have multiple indexes, but the write performance may be affected.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.