You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Darrel Schneider (Jira)" <ji...@apache.org> on 2021/12/16 22:30:00 UTC

[jira] [Created] (GEODE-9904) RedisSet spop and srandmember should not copy entire MemberSet

Darrel Schneider created GEODE-9904:
---------------------------------------

             Summary: RedisSet spop and srandmember should not copy entire MemberSet
                 Key: GEODE-9904
                 URL: https://issues.apache.org/jira/browse/GEODE-9904
             Project: Geode
          Issue Type: Improvement
          Components: redis
            Reporter: Darrel Schneider


The current implementation of RedisSet spop and srandmember always copy the entire MemberSet. So if you have a redis set with a million items, and than ask for one random one, instead of it reading just one of the items out of the set it first copies the entire set.

The call that makes the copy is "members.toArray". It should be pretty easy to add spop and srandmember support to the MemberSet super class. Since MemberSet uses a flat array to store its items it should work well with supporting indexing of its array to get a random element. 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)