Skip to content

Harden Redis store semantics and align CI/tooling#3

Merged
jwoertink merged 3 commits intoluckyframework:mainfrom
rmarronnier:updates-and-specs
Mar 24, 2026
Merged

Harden Redis store semantics and align CI/tooling#3
jwoertink merged 3 commits intoluckyframework:mainfrom
rmarronnier:updates-and-specs

Conversation

@rmarronnier
Copy link
Copy Markdown
Contributor

This shard needed a big refresh.

About luckyframework/lucky_cache#17 :

This shard already supports those same array/basic types:

  • scalar support in src/lucky_cache_redis_store/redis_store.cr:86
  • array serialization/deserialization in src/lucky_cache_redis_store/redis_store.cr:173, src/
    lucky_cache_redis_store/redis_store.cr:222, and src/lucky_cache_redis_store/redis_store.cr:271
  • regression coverage in spec/lucky_cache_redis_store/redis_store_spec.cr:65 and spec/
    lucky_cache_redis_store/redis_store_spec.cr:137

The important caveat is that it is not identical to MemoryStore overall:

  • RedisStore still does not support arbitrary custom LuckyCache::Cachable objects.
  • RedisStore also does not support arbitrary Array(Cachable) collections.

@jwoertink
Copy link
Copy Markdown
Member

Nice!

For that failure on 1.16, Timecop has to be locked to v0.5.0 I think. They made a change that requires Crystal 1.19 or later. If you can just add the version: ~> 0.5.0 to that, then I think it'll be good

Copy link
Copy Markdown
Member

@jwoertink jwoertink left a comment

Choose a reason for hiding this comment

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

Sweet!

@jwoertink jwoertink merged commit 94124d1 into luckyframework:main Mar 24, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants