# @sergki/loopback-connector-kv-redis

The non-official Redis KeyValue connector for LoopBack.

## Extended Redis Set Support

This connector includes additional support for Redis set operations. These are useful for managing sets of values such as user sessions, tags, and temporary groups.

### `sadd(modelName, key, values, options, callback)`

Adds one or more members to a Redis set.

Example:
connector.sadd('User', 'onlineUsers', ['user:1', 'user:2'], {}, (err, result) => {
  // result = number of members actually added (0 if already existed)
});

### `srem(modelName, key, values, options, callback)`

Removes one or more members from a Redis set.

Example:
connector.srem('User', 'onlineUsers', ['user:1'], {}, (err, result) => {
  // result = number of members removed
});

### `smembers(modelName, key, options, callback)`

Retrieves all members of a Redis set.

Example:
connector.smembers('User', 'onlineUsers', {}, (err, members) => {
  // members = ['user:2', 'user:3']
});

### `smismember(modelName, key, values, options, callback)`

Checks if one or more values are members of a Redis set. This method requires Redis 6.2 or later.

Example:
connector.smismember('User', 'onlineUsers', ['user:1', 'user:2'], {}, (err, result) => {
  // result = [0, 1] -> user:1 not in set, user:2 is in set
});
