Skip to content

Allow using double-colon as keyspace name through @RedisHash(value = …) #2096

Open
@gpizarro-gfm

Description

@gpizarro-gfm

This may be related to/a duplicate of #1326, but that issue was closed back in 2018.

For this Kotlin example, say I have:

@RedishHash(value = "keysubname", timeToLive = 10L)
data class KeySubname(
    @Id
    val id: Long
    @Indexed
    val ext_id: Long
)

And that keyspace events are enabled in the Spring application:

@EnableRedisRepositories(enableKeyspaceEvents = RedisKeyValueAdapter.EnableKeyspaceEvents.ON_STARTUP)

After saving the hash, it and its index, secondary index, and lookup hashmap are deleted after 10 seconds. This is expected behavior.

However, if I add a colon to the hash's name (and make no other changes):

@RedishHash(value = "key:subname", timeToLive = 10L)
data class KeySubname(
    @Id
    val id: Long
    @Indexed
    val ext_id: Long
)

Then the secondary index and lookup hashmap are not deleted after 10 seconds, leaving a permanent record in the redis db of a hash that no longer exists.

Hopefully this issue can be fixed soon. Please let me know how else I can help.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions