Skip to content

Conversation

@koushiro
Copy link
Member

Which issue does this PR close?

Part of #6829
Closes #.

Rationale for this change

What changes are included in this PR?

  • split redis service into a separate crate

Are there any user-facing changes?

AI Usage Statement

Zed with GPT-5.1 Codex-Max

Copilot AI review requested due to automatic review settings December 23, 2025 07:12
@koushiro koushiro requested a review from Xuanwo as a code owner December 23, 2025 07:12
@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. releases-note/refactor The PR does a refactor on code or has a title that begins with "refactor" labels Dec 23, 2025
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR splits the Redis service implementation from the monolithic opendal-core crate into a separate opendal-service-redis crate, following the refactoring plan outlined in #6829. The goal is to modularize OpenDAL's architecture while maintaining backward compatibility through facade re-exports.

Key Changes:

  • Created new opendal-service-redis crate with dedicated Cargo.toml configuration
  • Migrated all Redis-specific code from core/core/src/services/redis/ to core/services/redis/src/
  • Updated imports from crate:: to opendal_core:: throughout the Redis service implementation
  • Updated feature flags and dependencies in root and core Cargo.toml files

Reviewed changes

Copilot reviewed 12 out of 13 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
core/Cargo.toml Added opendal-service-redis dependency and mapped feature flags for services-redis and services-redis-native-tls
core/Cargo.lock Updated lock file reflecting the new crate structure and dependency changes
core/src/lib.rs Added re-export for opendal-service-redis and opendal-service-vercel-artifacts in the services module
core/core/Cargo.toml Removed redis-specific features and dependencies from the core crate
core/core/src/services/mod.rs Removed redis module declaration and re-export from core services
core/services/redis/Cargo.toml New manifest for the standalone redis service crate
core/services/redis/src/lib.rs Updated module declarations and crate-level documentation with proper registration
core/services/redis/src/backend.rs Updated imports from crate::* to opendal_core::*
core/services/redis/src/config.rs Updated imports and Configurator trait implementation references
core/services/redis/src/core.rs Updated imports to use opendal_core::
core/services/redis/src/delete.rs Updated imports and simplified Arc usage
core/services/redis/src/writer.rs Updated imports and simplified Arc usage
core/services/redis/src/docs.md Updated example code to use opendal_service_redis::Redis instead of opendal_core::services::Redis
Comments suppressed due to low confidence (1)

core/services/redis/src/backend.rs:23

  • Missing import for Duration. The default_ttl method parameter uses Duration but it's not imported. Add use std::time::Duration; to the imports section at the top of the file.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Member

@Xuanwo Xuanwo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Dec 23, 2025
@Xuanwo Xuanwo merged commit 8a28238 into main Dec 23, 2025
392 checks passed
@Xuanwo Xuanwo deleted the extract-redis-service branch December 23, 2025 15:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer releases-note/refactor The PR does a refactor on code or has a title that begins with "refactor" size:L This PR changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants