Set

Hazelcast Set (ISet) is a distributed and concurrent implementation of java.util.Set. It does not allow duplicate elements or does not preserve the order of elements. It is a non-partitioned data structure, so all the data belongs to a set lives on one single partition in that member.

Since the whole set lives on a single partition, storing a large amount of data on a single set may cause pressure.

Set Name

In Hazelcast, you can create custom set configurations associated with the names of the Set. The Set that does not have any configuration defined will use the default configuration. If you want to set a configuration that is valid for all sets, you can name your configuration as default. A user-defined default configuration applies to every set that does not have a specific custom set configuration defined with the set’s name. You can also use wildcards to associate your configuration with multiple set names. See the configuration documentation for more information about wildcards.

Maximum Size

You can set a maximum number of entries for the set you are creating with setting this value. This value can be any integer between 0 Integer.MAX_VALUE.

If you set this value to zero, no capacity constraint will be applied.

Backup Count

This value sets how many synchronous backup will be. In this case, backup operations block operations until backups are successfully copied to backup members (or deleted from backup members in case of remove) and acknowledgements are received. Therefore, backups are updated before a put operation is completed, provided that the cluster is stable. 0 means there will be no backup, and 1 means there will be 1 backup of this set in another member of cluster. When you set 2, two members will have the backup.

Asynchronous Backup Count

This value sets how many asynchronous backup will be. In contrast to asynchronous, synchronous backups doesn’t block operations. They are fire & forget and do not require acknowledgements; the backup operations are performed at some point in time. 0 means there will be no asynchronous backup, and 1 means there will be 1 asynchronous backup of this set in another member of cluster. When you set 2, two members will have the asynchronous backup.