Skip to content

Commit 41d09ff

Browse files
authored
fix: rework response cache tag storage (#8692)
1 parent b890c1e commit 41d09ff

8 files changed

+92
-65
lines changed

apollo-router/src/cache/redis.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -869,6 +869,16 @@ impl RedisCacheStorage {
869869
self.delete_from_scan_result(keys.into_iter()).await?;
870870
Ok(())
871871
}
872+
873+
pub(crate) fn strip_namespace(&self, key: String) -> String {
874+
match &self.namespace {
875+
Some(namespace) => key
876+
.strip_prefix(&format!("{namespace}:"))
877+
.map(ToString::to_string)
878+
.unwrap_or(key),
879+
None => key,
880+
}
881+
}
872882
}
873883

874884
#[cfg(test)]

apollo-router/src/plugins/response_cache/storage/redis.rs

Lines changed: 68 additions & 51 deletions
Large diffs are not rendered by default.

apollo-router/src/plugins/response_cache/storage/snapshots/apollo_router__plugins__response_cache__storage__redis__tests__invalidation_key_permutations@input____None____.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ source: apollo-router/src/plugins/response_cache/storage/redis.rs
33
expression: cache_tags
44
---
55
[
6-
"cache-tag:subgraph-products",
6+
"version:1.1:cache-tag:subgraph-products",
77
]

apollo-router/src/plugins/response_cache/storage/snapshots/apollo_router__plugins__response_cache__storage__redis__tests__invalidation_key_permutations@input____None____invalidation.snap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ source: apollo-router/src/plugins/response_cache/storage/redis.rs
33
expression: cache_tags
44
---
55
[
6-
"cache-tag:subgraph-products",
7-
"cache-tag:subgraph-products:key-invalidation",
6+
"version:1.1:cache-tag:subgraph-products",
7+
"version:1.1:cache-tag:subgraph-products:key-invalidation",
88
]

apollo-router/src/plugins/response_cache/storage/snapshots/apollo_router__plugins__response_cache__storage__redis__tests__invalidation_key_permutations@input____None____invalidation1__invalidation2__invalidation3.snap

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ source: apollo-router/src/plugins/response_cache/storage/redis.rs
33
expression: cache_tags
44
---
55
[
6-
"cache-tag:subgraph-products",
7-
"cache-tag:subgraph-products:key-invalidation1",
8-
"cache-tag:subgraph-products:key-invalidation2",
9-
"cache-tag:subgraph-products:key-invalidation3",
6+
"version:1.1:cache-tag:subgraph-products",
7+
"version:1.1:cache-tag:subgraph-products:key-invalidation1",
8+
"version:1.1:cache-tag:subgraph-products:key-invalidation2",
9+
"version:1.1:cache-tag:subgraph-products:key-invalidation3",
1010
]

apollo-router/src/plugins/response_cache/storage/snapshots/apollo_router__plugins__response_cache__storage__redis__tests__invalidation_key_permutations@input____test____.snap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ source: apollo-router/src/plugins/response_cache/storage/redis.rs
33
expression: cache_tags
44
---
55
[
6-
"test:cache-tag:subgraph-products",
6+
"version:1.1:cache-tag:subgraph-products",
77
]

apollo-router/src/plugins/response_cache/storage/snapshots/apollo_router__plugins__response_cache__storage__redis__tests__invalidation_key_permutations@input____test____invalidation.snap

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ source: apollo-router/src/plugins/response_cache/storage/redis.rs
33
expression: cache_tags
44
---
55
[
6-
"test:cache-tag:subgraph-products",
7-
"test:cache-tag:subgraph-products:key-invalidation",
6+
"version:1.1:cache-tag:subgraph-products",
7+
"version:1.1:cache-tag:subgraph-products:key-invalidation",
88
]

apollo-router/src/plugins/response_cache/storage/snapshots/apollo_router__plugins__response_cache__storage__redis__tests__invalidation_key_permutations@input____test____invalidation1__invalidation2__invalidation3.snap

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ source: apollo-router/src/plugins/response_cache/storage/redis.rs
33
expression: cache_tags
44
---
55
[
6-
"test:cache-tag:subgraph-products",
7-
"test:cache-tag:subgraph-products:key-invalidation1",
8-
"test:cache-tag:subgraph-products:key-invalidation2",
9-
"test:cache-tag:subgraph-products:key-invalidation3",
6+
"version:1.1:cache-tag:subgraph-products",
7+
"version:1.1:cache-tag:subgraph-products:key-invalidation1",
8+
"version:1.1:cache-tag:subgraph-products:key-invalidation2",
9+
"version:1.1:cache-tag:subgraph-products:key-invalidation3",
1010
]

0 commit comments

Comments
 (0)