SMEMBERS
Syntax
SMEMBERS key
- Available since:
- Redis Open Source 1.0.0
- Time complexity:
- O(N) where N is the set cardinality.
- ACL categories:
-
@read,@set,@slow, - Compatibility:
- Redis Enterprise and Redis Cloud compatibility
Returns all the members of the set value stored at key.
This has the same effect as running SINTER with one argument key.
Examples
redis> SADD myset "Hello"
(integer) 1
redis> SADD myset "World"
(integer) 1
redis> SMEMBERS myset
1) "Hello"
2) "World"import redis
r = redis.Redis(decode_responses=True)
res1 = r.sadd("myset", "Hello", "World")
print(res1) # >>> 2
res2 = r.sadd("myset", "World")
print(res2) # >>> 0
res3 = r.smembers("myset")
print(res3) # >>> {'Hello', 'World'}
res4 = r.sadd("myset", "Hello", "World")
print(res4) # >>> 2
res5 = r.smembers("myset")
print(res5) # >>> {'Hello', 'World'}
import { createClient } from 'redis';
const client = createClient();
await client.connect().catch(console.error);
const res1 = await client.sAdd('myset', ['Hello', 'World']);
console.log(res1); // 2
const res2 = await client.sAdd('myset', ['World']);
console.log(res2); // 0
const res3 = await client.sMembers('myset')
console.log(res3); // ['Hello', 'World']
const res4 = await client.sAdd('myset', ['Hello', 'World']);
console.log(res4); // 2
const res5 = await client.sMembers('myset')
console.log(res5); // ['Hello', 'World']
await client.close();
import static java.util.stream.Collectors.toList;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.Set;
import redis.clients.jedis.UnifiedJedis;
public class CmdsSetExample {
public void run() {
UnifiedJedis jedis = new UnifiedJedis("redis://localhost:6379");
long sAddResult1 = jedis.sadd("myset", "Hello");
System.out.println(sAddResult1); // >>> 1
long sAddResult2 = jedis.sadd("myset", "World");
System.out.println(sAddResult2); // >>> 1
long sAddResult3 = jedis.sadd("myset", "World");
System.out.println(sAddResult3); // >>> 0
Set<String> sAddResult4 = jedis.smembers("myset");
System.out.println(sAddResult4.stream().sorted().collect(toList()));
// >>> [Hello, World]
long sMembersResult1 = jedis.sadd("myset", "Hello", "World");
System.out.println(sMembersResult1); // >>> 2
Set<String> sMembersResult2 = jedis.smembers("myset");
System.out.println(sMembersResult2.stream().sorted().collect(toList()));
// >>> [Hello, World]
jedis.close();
}
}
package example_commands_test
import (
"context"
"fmt"
"github.com/redis/go-redis/v9"
)
func ExampleClient_sadd_cmd() {
ctx := context.Background()
rdb := redis.NewClient(&redis.Options{
Addr: "localhost:6379",
Password: "", // no password docs
DB: 0, // use default DB
})
sAddResult1, err := rdb.SAdd(ctx, "myset", "Hello").Result()
if err != nil {
panic(err)
}
fmt.Println(sAddResult1) // >>> 1
sAddResult2, err := rdb.SAdd(ctx, "myset", "World").Result()
if err != nil {
panic(err)
}
fmt.Println(sAddResult2) // >>> 1
sAddResult3, err := rdb.SAdd(ctx, "myset", "World").Result()
if err != nil {
panic(err)
}
fmt.Println(sAddResult3) // >>> 0
sMembersResult, err := rdb.SMembers(ctx, "myset").Result()
if err != nil {
panic(err)
}
fmt.Println(sMembersResult) // >>> [Hello World]
}
func ExampleClient_smembers_cmd() {
ctx := context.Background()
rdb := redis.NewClient(&redis.Options{
Addr: "localhost:6379",
Password: "", // no password docs
DB: 0, // use default DB
})
sAddResult, err := rdb.SAdd(ctx, "myset", "Hello", "World").Result()
if err != nil {
panic(err)
}
fmt.Println(sAddResult) // >>> 2
sMembersResult, err := rdb.SMembers(ctx, "myset").Result()
if err != nil {
panic(err)
}
fmt.Println(sMembersResult) // >>> [Hello World]
}
using StackExchange.Redis;
public class CmdsSetExample
{
public void Run()
{
var muxer = ConnectionMultiplexer.Connect("localhost:6379");
var db = muxer.GetDatabase();
bool sAddResult1 = db.SetAdd("myset", "Hello");
Console.WriteLine(sAddResult1); // >>> True
bool sAddResult2 = db.SetAdd("myset", "World");
Console.WriteLine(sAddResult2); // >>> True
bool sAddResult3 = db.SetAdd("myset", "World");
Console.WriteLine(sAddResult2); // >>> False
RedisValue[] sAddResult4 = db.SetMembers("myset");
Array.Sort(sAddResult4);
Console.WriteLine(string.Join(", ", sAddResult4));
// >>> Hello, World
long sMembersResult1 = db.SetAdd(
"myset", ["Hello", "World"]
);
Console.WriteLine(sMembersResult1); // >>> 2
RedisValue[] sMembersResult2 = db.SetMembers("myset");
Array.Sort(sMembersResult2);
Console.WriteLine(string.Join(", ", sMembersResult2));
// >>> Hello, World
}
}
<?php
require 'vendor/autoload.php';
use Predis\Client as PredisClient;
class CmdSetTest
{
public function testCmdSet() {
$r = new PredisClient([
'scheme' => 'tcp',
'host' => '127.0.0.1',
'port' => 6379,
'password' => '',
'database' => 0,
]);
$res1 = $r->sadd('myset', ['Hello', 'World']);
echo $res1 . PHP_EOL;
// >>> 2
$res2 = $r->sadd('myset', ['World']);
echo $res2 . PHP_EOL;
// >>> 0
$res3 = $r->smembers('myset');
sort($res3);
echo json_encode($res3) . PHP_EOL;
// >>> ["Hello","World"]
$res4 = $r->sadd('myset', ['Hello', 'World']);
echo $res4 . PHP_EOL;
// >>> 2
$res5 = $r->smembers('myset');
sort($res5);
echo json_encode($res5) . PHP_EOL;
// >>> ["Hello","World"]
}
}
Give these commands a try in the interactive console:
Redis Enterprise and Redis Cloud compatibility
| Redis Enterprise |
Redis Cloud |
Notes |
|---|---|---|
| ✅ Standard |
✅ Standard |
Return information
Array reply: an array with all the members of the set.