aboutsummaryrefslogtreecommitdiffstats
path: root/crates/sh-util/src/cache/key.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/sh-util/src/cache/key.rs')
-rw-r--r--crates/sh-util/src/cache/key.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/crates/sh-util/src/cache/key.rs b/crates/sh-util/src/cache/key.rs
new file mode 100644
index 0000000..41315b8
--- /dev/null
+++ b/crates/sh-util/src/cache/key.rs
@@ -0,0 +1,23 @@
+use redis::{ToRedisArgs, ToSingleRedisArg};
+
+pub enum CacheKey<'a> {
+ Session(&'a str),
+}
+
+impl ToRedisArgs for CacheKey<'_> {
+ fn write_redis_args<W>(&self, out: &mut W)
+ where
+ W: ?Sized + redis::RedisWrite,
+ {
+ out.write_arg(
+ match self {
+ CacheKey::Session(id) => {
+ format!("session:{id}")
+ }
+ }
+ .as_bytes(),
+ );
+ }
+}
+
+impl ToSingleRedisArg for CacheKey<'_> {}