Skip to content

Add support for SMISMEMBER through variadic SetOperations.isMember(K key, Object... o) and ReactiveSetOperations #2037

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
4 tasks
mp911de opened this issue Apr 19, 2021 · 0 comments
Assignees
Labels
status: ideal-for-contribution An issue that a contributor can help us with theme: Redis 6.2 type: enhancement A general enhancement

Comments

@mp911de
Copy link
Member

mp911de commented Apr 19, 2021

Hi, this is a ideal-for-contribution issue. This means we've worked to make it more legible to folks who don't haven't contributed much to our codebase before.

Problem

Redis 6.2 introduced a new command SMISMEMBER as variadic variant of SISMEMBER. We want to support this command in Spring Data Redis.

Solution

Add List<Boolean> isMember(K key, Object... o) to SetOperations and ReactiveSetOperations. The reactive API should return Mono<List<Boolean>>. Add a isMember(Object…) to BoundSetOperations and make sure to implement the methods on the classes implementing the interfaces.

Extend the reactive and imperative command interfaces ReactiveSetCommands respective RedisSetCommands including DefaultedRedisConnection. You will need to extend JedisClusterSetCommands, JedisSetCommands, and LettuceSetCommands.

AbstractConnectionIntegrationTests is the main test class for connection-related tests.

See also https://redis.io/commands/smismember for further information.

Steps to Fix

  • Claim this issue with a comment below and ask any clarifying questions you need
  • Set up a repository locally following the Contributing Guidelines
  • Try to fix the issue following the steps above
  • Commit your changes and start a pull request
@mp911de mp911de added type: enhancement A general enhancement theme: Redis 6.2 status: ideal-for-contribution An issue that a contributor can help us with labels Apr 19, 2021
@mp911de mp911de self-assigned this Jun 28, 2021
mp911de added a commit that referenced this issue Jun 29, 2021
Allows querying with a single command whether multiple elements are members of a set. Also, refine DefaultRedisSet.containsAll(…) implementation.

Closes #2037
mp911de added a commit that referenced this issue Jun 29, 2021
Introduce factory methods on RedisSet for easier construction of RediSet. Add javadoc.
Revise clear method to perform a DEL command instead of empty set intersection.

See #2037
mp911de added a commit that referenced this issue Jun 29, 2021
Allows querying with a single command whether multiple elements are members of a set. Also, refine DefaultRedisSet.containsAll(…) implementation.

Closes #2037
mp911de added a commit that referenced this issue Jun 29, 2021
Introduce factory methods on RedisSet for easier construction of RediSet. Add javadoc.
Revise clear method to perform a DEL command instead of empty set intersection.

See #2037
christophstrobl pushed a commit that referenced this issue Jun 30, 2021
Introduce factory methods on RedisSet for easier construction of RediSet. Add javadoc.
Revise clear method to perform a DEL command instead of empty set intersection.

See #2037
Original Pull Request: #2105
@christophstrobl christophstrobl added this to the 2.6 M1 (2021.1.0) milestone Jun 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: ideal-for-contribution An issue that a contributor can help us with theme: Redis 6.2 type: enhancement A general enhancement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants