[フレーム]
Docs Pricing
Login Book a meeting Try Redis

LPOP

Syntax
LPOP key [count]
Available since:
Redis Open Source 1.0.0
Time complexity:
O(N) where N is the number of elements returned
ACL categories:
@write, @list, @fast,
Compatibility:
Redis Enterprise and Redis Cloud compatibility

Removes and returns the first elements of the list stored at key.

By default, the command pops a single element from the beginning of the list. When provided with the optional count argument, the reply will consist of up to count elements, depending on the list's length.

Examples

redis> RPUSH mylist "one" "two" "three" "four" "five"
(integer) 5
redis> LPOP mylist
"one"
redis> LPOP mylist 2
1) "two"
2) "three"
redis> LRANGE mylist 0 -1
1) "four"
2) "five"
Are you tired of using redis-cli? Try Redis Insight - the developer GUI for Redis.
import redis
r = redis.Redis(decode_responses=True)
res1 = r.lpush("mylist", "world")
print(res1) # >>> 1
res2 = r.lpush("mylist", "hello")
print(res2) # >>> 2
res3 = r.lrange("mylist", 0, -1)
print(res3) # >>> [ "hello", "world" ]
res4 = r.rpush("mylist", "one");
print(res4) # >>> 1
res5 = r.rpush("mylist", "two")
print(res5) # >>> 2
res6 = r.rpush("mylist", "three")
print(res6) # >>> 3
res7 = r.lrange('mylist', 0, 0)
print(res7) # >>> [ 'one' ]
res8 = r.lrange('mylist', -3, 2)
print(res8) # >>> [ 'one', 'two', 'three' ]
res9 = r.lrange('mylist', -100, 100)
print(res9) # >>> [ 'one', 'two', 'three' ]
res10 = r.lrange('mylist', 5, 10)
print(res10) # >>> []
res11 = r.lpush("mylist", "World")
print(res11) # >>> 1
res12 = r.lpush("mylist", "Hello")
print(res12) # >>> 2
res13 = r.llen("mylist")
print(res13) # >>> 2
res14 = r.rpush("mylist", "hello")
print(res14) # >>> 1
res15 = r.rpush("mylist", "world")
print(res15) # >>> 2
res16 = r.lrange("mylist", 0, -1)
print(res16) # >>> [ "hello", "world" ]
res17 = r.rpush("mylist", *["one", "two", "three", "four", "five"])
print(res17) # >>> 5
res18 = r.lpop("mylist")
print(res18) # >>> "one"
res19 = r.lpop("mylist", 2)
print(res19) # >>> ['two', 'three']
res17 = r.lrange("mylist", 0, -1)
print(res17) # >>> [ "four", "five" ]
res18 = r.rpush("mylist", *["one", "two", "three", "four", "five"])
print(res18) # >>> 5
res19 = r.rpop("mylist")
print(res19) # >>> "five"
res20 = r.rpop("mylist", 2)
print(res20) # >>> ['four', 'three']
res21 = r.lrange("mylist", 0, -1)
print(res21) # >>> [ "one", "two" ]
Python Quick-Start
import assert from 'node:assert';
import { createClient } from 'redis';
const client = createClient();
await client.connect().catch(console.error);
const res1 = await client.lPush('mylist', 'world');
console.log(res1); // 1

const res2 = await client.lPush('mylist', 'hello');
console.log(res2); // 2

const res3 = await client.lRange('mylist', 0, -1);
console.log(res3); // [ 'hello', 'world' ]

const res4 = await client.rPush('mylist', 'one');
console.log(res4); // 1

const res5 = await client.rPush('mylist', 'two');
console.log(res5); // 2

const res6 = await client.rPush('mylist', 'three');
console.log(res6); // 3

const res7 = await client.lRange('mylist', 0, 0);
console.log(res7); // [ 'one' ]

const res8 = await client.lRange('mylist', -3, 2);
console.log(res8); // [ 'one', 'two', 'three' ]

const res9 = await client.lRange('mylist', -100, 100);
console.log(res9); // [ 'one', 'two', 'three' ]

const res10 = await client.lRange('mylist', 5, 10);
console.log(res10); // []

const res11 = await client.lPush('mylist', 'World');
console.log(res11); // 1

const res12 = await client.lPush('mylist', 'Hello');
console.log(res12); // 2

const res13 = await client.lLen('mylist');
console.log(res13); // 2

const res14 = await client.rPush('mylist', 'hello');
console.log(res14); // 1

const res15 = await client.rPush('mylist', 'world');
console.log(res15); // 2

const res16 = await client.lRange('mylist', 0, -1);
console.log(res16); // [ 'hello', 'world' ]

const res17 = await client.rPush('mylist', ["one", "two", "three", "four", "five"]);
console.log(res17); // 5

const res18 = await client.lPop('mylist');
console.log(res18); // 'one'

const res19 = await client.lPopCount('mylist', 2);
console.log(res19); // [ 'two', 'three' ]

const res20 = await client.lRange('mylist', 0, -1);
console.log(res20); // [ 'four', 'five' ]

const res21 = await client.rPush('mylist', ["one", "two", "three", "four", "five"]);
console.log(res21); // 5

const res22 = await client.rPop('mylist');
console.log(res22); // 'five'

const res23 = await client.rPopCount('mylist', 2);
console.log(res23); // [ 'four', 'three' ]

const res24 = await client.lRange('mylist', 0, -1);
console.log(res24); // [ 'one', 'two' ]

await client.close();
Node.js Quick-Start
importjava.util.List;importredis.clients.jedis.UnifiedJedis;import staticorg.junit.jupiter.api.Assertions.assertEquals;publicclass CmdsListExample{publicvoidrun(){UnifiedJedisjedis=newUnifiedJedis("redis://localhost:6379");longlLenResult1=jedis.lpush("mylist","World");System.out.println(lLenResult1);// >>> 1longlLenResult2=jedis.lpush("mylist","Hello");System.out.println(lLenResult2);// >>> 2longlLenResult3=jedis.llen("mylist");System.out.println(lLenResult3);// >>> 2longlPopResult1=jedis.rpush("mylist","one","two","three","four","five");System.out.println(lPopResult1);// >>> 5StringlPopResult2=jedis.lpop("mylist");System.out.println(lPopResult2);// >>> oneList<String>lPopResult3=jedis.lpop("mylist",2);System.out.println(lPopResult3);// >>> [two, three]List<String>lPopResult4=jedis.lrange("mylist",0,-1);System.out.println(lPopResult4);// >>> [four, five]longlPushResult1=jedis.lpush("mylist","World");System.out.println(lPushResult1);// >>> 1longlPushResult2=jedis.lpush("mylist","Hello");System.out.println(lPushResult2);// >>> 2List<String>lPushResult3=jedis.lrange("mylist",0,-1);System.out.println(lPushResult3);// >>> [Hello, World]longlRangeResult1=jedis.rpush("mylist","one","two","three");System.out.println(lRangeResult1);// >>> 3List<String>lRangeResult2=jedis.lrange("mylist",0,0);System.out.println(lRangeResult2);// >>> [one]List<String>lRangeResult3=jedis.lrange("mylist",-3,2);System.out.println(lRangeResult3);// >>> [one, two, three]List<String>lRangeResult4=jedis.lrange("mylist",-100,100);System.out.println(lRangeResult4);// >>> [one, two, three]List<String>lRangeResult5=jedis.lrange("mylist",5,10);System.out.println(lRangeResult5);// >>> []longrPopResult1=jedis.rpush("mylist","one","two","three","four","five");System.out.println(rPopResult1);// >>> 5StringrPopResult2=jedis.rpop("mylist");System.out.println(rPopResult2);// >>> fiveList<String>rPopResult3=jedis.rpop("mylist",2);System.out.println(rPopResult3);// >>> [four, three]List<String>rPopResult4=jedis.lrange("mylist",0,-1);System.out.println(rPopResult4);// >>> [one, two]longrPushResult1=jedis.rpush("mylist","hello");System.out.println(rPushResult1);// >>> 1longrPushResult2=jedis.rpush("mylist","world");System.out.println(rPushResult2);// >>> 2List<String>rPushResult3=jedis.lrange("mylist",0,-1);System.out.println(rPushResult3);// >>> [hello, world]jedis.close();}}
Java-Sync Quick-Start
packageio.redis.examples.async;importio.lettuce.core.*;importio.lettuce.core.api.async.RedisAsyncCommands;importio.lettuce.core.api.StatefulRedisConnection;importjava.util.concurrent.CompletableFuture;publicclass CmdsListExample{publicvoidrun(){RedisClientredisClient=RedisClient.create("redis://localhost:6379");try(StatefulRedisConnection<String,String>connection=redisClient.connect()){RedisAsyncCommands<String,String>asyncCommands=connection.async();CompletableFuture<Void>lpush=asyncCommands.lpush("mylist","world").thenCompose(res1->{System.out.println(res1);// >>> 1returnasyncCommands.lpush("mylist","hello");}).thenCompose(res2->{System.out.println(res2);// >>> 2returnasyncCommands.lrange("mylist",0,-1);}).thenAccept(res3->System.out.println(res3))// >>> [hello, world].toCompletableFuture();lpush.join();CompletableFuture<Void>lrange=asyncCommands.rpush("mylist","one").thenCompose(res4->{System.out.println(res4);// >>> 1returnasyncCommands.rpush("mylist","two");}).thenCompose(res5->{System.out.println(res5);// >>> 2returnasyncCommands.rpush("mylist","three");}).thenCompose(res6->{System.out.println(res6);// >>> 3returnasyncCommands.lrange("mylist",0,0);}).thenCompose(res7->{System.out.println(res7);// >>> [one]returnasyncCommands.lrange("mylist",-3,2);}).thenCompose(res8->{System.out.println(res8);// >>> [one, two, three]returnasyncCommands.lrange("mylist",-100,100);}).thenCompose(res9->{System.out.println(res9);// >>> [one, two, three]returnasyncCommands.lrange("mylist",5,10);}).thenAccept(res10->System.out.println(res10))// >>> [].toCompletableFuture();lrange.join();CompletableFuture<Void>llen=asyncCommands.lpush("mylist","World").thenCompose(res11->{System.out.println(res11);// >>> 1returnasyncCommands.lpush("mylist","Hello");}).thenCompose(res12->{System.out.println(res12);// >>> 2returnasyncCommands.llen("mylist");}).thenAccept(res13->System.out.println(res13))// >>> 2.toCompletableFuture();llen.join();CompletableFuture<Void>rpush=asyncCommands.rpush("mylist","hello").thenCompose(res14->{System.out.println(res14);// >>> 1returnasyncCommands.rpush("mylist","world");}).thenCompose(res15->{System.out.println(res15);// >>> 2returnasyncCommands.lrange("mylist",0,-1);}).thenAccept(res16->System.out.println(res16))// >>> [hello, world].toCompletableFuture();rpush.join();CompletableFuture<Void>lpop=asyncCommands.rpush("mylist","one","two","three","four","five").thenCompose(res17->{System.out.println(res17);// >>> 5returnasyncCommands.lpop("mylist");}).thenCompose(res18->{System.out.println(res18);// >>> onereturnasyncCommands.lpop("mylist",2);}).thenCompose(res19->{System.out.println(res19);// >>> [two, three]returnasyncCommands.lrange("mylist",0,-1);}).thenAccept(res17_final->System.out.println(res17_final))// >>> [four, five].toCompletableFuture();lpop.join();CompletableFuture<Void>rpop=asyncCommands.rpush("mylist","one","two","three","four","five").thenCompose(res18->{System.out.println(res18);// >>> 5returnasyncCommands.rpop("mylist");}).thenCompose(res19->{System.out.println(res19);// >>> fivereturnasyncCommands.rpop("mylist",2);}).thenCompose(res20->{System.out.println(res20);// >>> [four, three]returnasyncCommands.lrange("mylist",0,-1);}).thenAccept(res21->System.out.println(res21))// >>> [one, two].toCompletableFuture();rpop.join();}finally{redisClient.shutdown();}}}
Java-Async Quick-Start
packageio.redis.examples.reactive;importio.lettuce.core.*;importio.lettuce.core.api.reactive.RedisReactiveCommands;importio.lettuce.core.api.StatefulRedisConnection;importreactor.core.publisher.Mono;publicclass CmdsListExample{publicvoidrun(){RedisClientredisClient=RedisClient.create("redis://localhost:6379");try(StatefulRedisConnection<String,String>connection=redisClient.connect()){RedisReactiveCommands<String,String>reactiveCommands=connection.reactive();Mono<Void>lpush=reactiveCommands.lpush("mylist","world").doOnNext(res1->{System.out.println(res1);// >>> 1}).flatMap(res1->reactiveCommands.lpush("mylist","hello")).doOnNext(res2->{System.out.println(res2);// >>> 2}).flatMap(res2->reactiveCommands.lrange("mylist",0,-1).collectList()).doOnNext(res3->{System.out.println(res3);// >>> [hello, world]}).then();lpush.block();reactiveCommands.del("mylist").block();Mono<Void>lrange=reactiveCommands.rpush("mylist","one").doOnNext(res4->{System.out.println(res4);// >>> 1}).flatMap(res4->reactiveCommands.rpush("mylist","two")).doOnNext(res5->{System.out.println(res5);// >>> 2}).flatMap(res5->reactiveCommands.rpush("mylist","three")).doOnNext(res6->{System.out.println(res6);// >>> 3}).flatMap(res6->reactiveCommands.lrange("mylist",0,0).collectList()).doOnNext(res7->{System.out.println(res7);// >>> [one]}).flatMap(res7->reactiveCommands.lrange("mylist",-3,2).collectList()).doOnNext(res8->{System.out.println(res8);// >>> [one, two, three]}).flatMap(res8->reactiveCommands.lrange("mylist",-100,100).collectList()).doOnNext(res9->{System.out.println(res9);// >>> [one, two, three]}).flatMap(res9->reactiveCommands.lrange("mylist",5,10).collectList()).doOnNext(res10->{System.out.println(res10);// >>> []}).then();lrange.block();reactiveCommands.del("mylist").block();Mono<Void>llen=reactiveCommands.lpush("mylist","World").doOnNext(res11->{System.out.println(res11);// >>> 1}).flatMap(res11->reactiveCommands.lpush("mylist","Hello")).doOnNext(res12->{System.out.println(res12);// >>> 2}).flatMap(res12->reactiveCommands.llen("mylist")).doOnNext(res13->{System.out.println(res13);// >>> 2}).then();llen.block();reactiveCommands.del("mylist").block();Mono<Void>rpush=reactiveCommands.rpush("mylist","hello").doOnNext(res14->{System.out.println(res14);// >>> 1}).flatMap(res14->reactiveCommands.rpush("mylist","world")).doOnNext(res15->{System.out.println(res15);// >>> 2}).flatMap(res15->reactiveCommands.lrange("mylist",0,-1).collectList()).doOnNext(res16->{System.out.println(res16);// >>> [hello, world]}).then();rpush.block();reactiveCommands.del("mylist").block();Mono<Void>lpop=reactiveCommands.rpush("mylist","one","two","three","four","five").doOnNext(res17->{System.out.println(res17);// >>> 5}).flatMap(res17->reactiveCommands.lpop("mylist")).doOnNext(res18->{System.out.println(res18);// >>> one}).flatMap(res18->reactiveCommands.lpop("mylist",2).collectList()).doOnNext(res19->{System.out.println(res19);// >>> [two, three]}).flatMap(res19->reactiveCommands.lrange("mylist",0,-1).collectList()).doOnNext(res17_final->{System.out.println(res17_final);// >>> [four, five]}).then();lpop.block();reactiveCommands.del("mylist").block();Mono<Void>rpop=reactiveCommands.rpush("mylist","one","two","three","four","five").doOnNext(res18->{System.out.println(res18);// >>> 5}).flatMap(res18->reactiveCommands.rpop("mylist")).doOnNext(res19->{System.out.println(res19);// >>> five}).flatMap(res19->reactiveCommands.rpop("mylist",2).collectList()).doOnNext(res20->{System.out.println(res20);// >>> [four, three]}).flatMap(res20->reactiveCommands.lrange("mylist",0,-1).collectList()).doOnNext(res21->{System.out.println(res21);// >>> [one, two]}).then();rpop.block();reactiveCommands.del("mylist").block();}finally{redisClient.shutdown();}}}
Java-Reactive Quick-Start
package example_commands_test
import (
	"context"
	"fmt"
	"github.com/redis/go-redis/v9"
)
func ExampleClient_cmd_llen() {
	ctx := context.Background()
	rdb := redis.NewClient(&redis.Options{
		Addr: "localhost:6379",
		Password: "", // no password docs
		DB: 0, // use default DB
	})
	lPushResult1, err := rdb.LPush(ctx, "mylist", "World").Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(lPushResult1) // >>> 1
	lPushResult2, err := rdb.LPush(ctx, "mylist", "Hello").Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(lPushResult2) // >>> 2
	lLenResult, err := rdb.LLen(ctx, "mylist").Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(lLenResult) // >>> 2
}
func ExampleClient_cmd_lpop() {
	ctx := context.Background()
	rdb := redis.NewClient(&redis.Options{
		Addr: "localhost:6379",
		Password: "", // no password docs
		DB: 0, // use default DB
	})
	RPushResult, err := rdb.RPush(ctx,
		"mylist", "one", "two", "three", "four", "five",
	).Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(RPushResult) // >>> 5
	lPopResult, err := rdb.LPop(ctx, "mylist").Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(lPopResult) // >>> one
	lPopCountResult, err := rdb.LPopCount(ctx, "mylist", 2).Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(lPopCountResult) // >>> [two three]
	lRangeResult, err := rdb.LRange(ctx, "mylist", 0, -1).Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(lRangeResult) // >>> [four five]
}
func ExampleClient_cmd_lpush() {
	ctx := context.Background()
	rdb := redis.NewClient(&redis.Options{
		Addr: "localhost:6379",
		Password: "", // no password docs
		DB: 0, // use default DB
	})
	lPushResult1, err := rdb.LPush(ctx, "mylist", "World").Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(lPushResult1) // >>> 1
	lPushResult2, err := rdb.LPush(ctx, "mylist", "Hello").Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(lPushResult2) // >>> 2
	lRangeResult, err := rdb.LRange(ctx, "mylist", 0, -1).Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(lRangeResult) // >>> [Hello World]
}
func ExampleClient_cmd_lrange() {
	ctx := context.Background()
	rdb := redis.NewClient(&redis.Options{
		Addr: "localhost:6379",
		Password: "", // no password docs
		DB: 0, // use default DB
	})
	RPushResult, err := rdb.RPush(ctx, "mylist",
		"one", "two", "three",
	).Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(RPushResult) // >>> 3
	lRangeResult1, err := rdb.LRange(ctx, "mylist", 0, 0).Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(lRangeResult1) // >>> [one]
	lRangeResult2, err := rdb.LRange(ctx, "mylist", -3, 2).Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(lRangeResult2) // >>> [one two three]
	lRangeResult3, err := rdb.LRange(ctx, "mylist", -100, 100).Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(lRangeResult3) // >>> [one two three]
	lRangeResult4, err := rdb.LRange(ctx, "mylist", 5, 10).Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(lRangeResult4) // >>> []
}
func ExampleClient_cmd_rpop() {
	ctx := context.Background()
	rdb := redis.NewClient(&redis.Options{
		Addr: "localhost:6379",
		Password: "", // no password docs
		DB: 0, // use default DB
	})
	rPushResult, err := rdb.RPush(ctx, "mylist",
		"one", "two", "three", "four", "five",
	).Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(rPushResult) // >>> 5
	rPopResult, err := rdb.RPop(ctx, "mylist").Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(rPopResult) // >>> five
	rPopCountResult, err := rdb.RPopCount(ctx, "mylist", 2).Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(rPopCountResult) // >>> [four three]
	lRangeResult, err := rdb.LRange(ctx, "mylist", 0, -1).Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(lRangeResult) // >>> [one two]
}
func ExampleClient_cmd_rpush() {
	ctx := context.Background()
	rdb := redis.NewClient(&redis.Options{
		Addr: "localhost:6379",
		Password: "", // no password docs
		DB: 0, // use default DB
	})
	rPushResult1, err := rdb.RPush(ctx, "mylist", "Hello").Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(rPushResult1) // >>> 1
	rPushResult2, err := rdb.RPush(ctx, "mylist", "World").Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(rPushResult2) // >>> 2
	lRangeResult, err := rdb.LRange(ctx, "mylist", 0, -1).Result()
	if err != nil {
		panic(err)
	}
	fmt.Println(lRangeResult) // >>> [Hello World]
}
Go Quick-Start
using NRedisStack.Tests;
using StackExchange.Redis;
public class CmdsListExample
{
 public void Run()
 {
 var muxer = ConnectionMultiplexer.Connect("localhost:6379");
 var db = muxer.GetDatabase();
 long lLenResult1 = db.ListLeftPush("mylist", "World");
 Console.WriteLine(lLenResult1); // >>> 1
 long lLenResult2 = db.ListLeftPush("mylist", "Hello");
 Console.WriteLine(lLenResult2); // >>> 2
 long lLenResult3 = db.ListLength("mylist");
 Console.WriteLine(lLenResult3); // >>> 2
 // Tests for 'llen' step.
 long lPopResult1 = db.ListRightPush("mylist", ["one", "two", "three", "four", "five"]);
 Console.WriteLine(lPopResult1); // >>> 5
 RedisValue lPopResult2 = db.ListLeftPop("mylist");
 Console.WriteLine(lPopResult2); // >>> one
 RedisValue[] lPopResult3 = db.ListLeftPop("mylist", 2);
 Console.WriteLine($"[{string.Join(", ", lPopResult3)}]");
 // >>> [two, three]
 RedisValue[] lPopResult4 = db.ListRange("mylist", 0, -1);
 Console.WriteLine($"[{string.Join(", ", lPopResult4)}]");
 // >>> [four, five]
 // Tests for 'lpop' step.
 long lPushResult1 = db.ListLeftPush("mylist", "World");
 Console.WriteLine(lPushResult1); // >>> 1
 long lPushResult2 = db.ListLeftPush("mylist", "Hello");
 Console.WriteLine(lPushResult2); // >>> 2
 RedisValue[] lPushResult3 = db.ListRange("mylist", 0, -1);
 Console.WriteLine($"[{string.Join(", ", lPushResult3)}]");
 // >>> [Hello, World]
 // Tests for 'lpush' step.
 long lRangeResult1 = db.ListRightPush("mylist", ["one", "two", "three"]);
 Console.WriteLine(lRangeResult1); // >>> 3
 RedisValue[] lRangeResult2 = db.ListRange("mylist", 0, 0);
 Console.WriteLine($"[{string.Join(", ", lRangeResult2)}]");
 // >>> [one]
 RedisValue[] lRangeResult3 = db.ListRange("mylist", -3, 2);
 Console.WriteLine($"[{string.Join(", ", lRangeResult3)}]");
 // >>> [one, two, three]
 RedisValue[] lRangeResult4 = db.ListRange("mylist", -100, 100);
 Console.WriteLine($"[{string.Join(", ", lRangeResult4)}]");
 // >>> [one, two, three]
 RedisValue[] lRangeResult5 = db.ListRange("mylist", 5, 10);
 Console.WriteLine($"[{string.Join(", ", lRangeResult5)}]");
 // >>> []
 // Tests for 'lrange' step.
 long rPopResult1 = db.ListRightPush("mylist", ["one", "two", "three", "four", "five"]);
 Console.WriteLine(rPopResult1); // >>> 5
 RedisValue rPopResult2 = db.ListRightPop("mylist");
 Console.WriteLine(rPopResult2); // >>> five
 RedisValue[] rPopResult3 = db.ListRightPop("mylist", 2);
 Console.WriteLine($"[{string.Join(", ", rPopResult3)}]");
 // >>> [four, three]
 RedisValue[] rPopResult4 = db.ListRange("mylist", 0, -1);
 Console.WriteLine($"[{string.Join(", ", rPopResult4)}]");
 // >>> [one, two]
 // Tests for 'rpop' step.
 long rPushResult1 = db.ListRightPush("mylist", "hello");
 Console.WriteLine(rPushResult1); // >>> 1
 long rPushResult2 = db.ListRightPush("mylist", "world");
 Console.WriteLine(rPushResult2); // >>> 2
 RedisValue[] rPushResult3 = db.ListRange("mylist", 0, -1);
 Console.WriteLine($"[{string.Join(", ", rPushResult3)}]");
 // >>> [hello, world]
 // Tests for 'rpush' step.
 }
}
C#-Sync Quick-Start
<?php
require 'vendor/autoload.php';
use Predis\Client as PredisClient;
class CmdListTest
{
 public function testCmdList() {
 $r = new PredisClient([
 'scheme' => 'tcp',
 'host' => '127.0.0.1',
 'port' => 6379,
 'password' => '',
 'database' => 0,
 ]);
 $res1 = $r->lpush('mylist', 'world');
 echo $res1 . PHP_EOL;
 // >>> 1

 $res2 = $r->lpush('mylist', 'hello');
 echo $res2 . PHP_EOL;
 // >>> 2

 $res3 = $r->lrange('mylist', 0, -1);
 echo json_encode($res3) . PHP_EOL;
 // >>> ["hello","world"]

 $res4 = $r->rpush('mylist', 'one');
 echo $res4 . PHP_EOL;
 // >>> 1

 $res5 = $r->rpush('mylist', 'two');
 echo $res5 . PHP_EOL;
 // >>> 2

 $res6 = $r->rpush('mylist', 'three');
 echo $res6 . PHP_EOL;
 // >>> 3

 $res7 = $r->lrange('mylist', 0, 0);
 echo json_encode($res7) . PHP_EOL;
 // >>> ["one"]

 $res8 = $r->lrange('mylist', -3, 2);
 echo json_encode($res8) . PHP_EOL;
 // >>> ["one","two","three"]

 $res9 = $r->lrange('mylist', -100, 100);
 echo json_encode($res9) . PHP_EOL;
 // >>> ["one","two","three"]

 $res10 = $r->lrange('mylist', 5, 10);
 echo json_encode($res10) . PHP_EOL;
 // >>> []

 $res11 = $r->lpush('mylist', 'World');
 echo $res11 . PHP_EOL;
 // >>> 1

 $res12 = $r->lpush('mylist', 'Hello');
 echo $res12 . PHP_EOL;
 // >>> 2

 $res13 = $r->llen('mylist');
 echo $res13 . PHP_EOL;
 // >>> 2

 $res14 = $r->rpush('mylist', 'hello');
 echo $res14 . PHP_EOL;
 // >>> 1

 $res15 = $r->rpush('mylist', 'world');
 echo $res15 . PHP_EOL;
 // >>> 2

 $res16 = $r->lrange('mylist', 0, -1);
 echo json_encode($res16) . PHP_EOL;
 // >>> ["hello","world"]

 $res17 = $r->rpush('mylist', 'one', 'two', 'three', 'four', 'five');
 echo $res17 . PHP_EOL;
 // >>> 5

 $res18 = $r->lpop('mylist');
 echo $res18 . PHP_EOL;
 // >>> one

 $res19 = $r->lpop('mylist', 2);
 echo json_encode($res19) . PHP_EOL;
 // >>> ["two","three"]

 $res20 = $r->lrange('mylist', 0, -1);
 echo json_encode($res20) . PHP_EOL;
 // >>> ["four","five"]

 $res21 = $r->rpush('mylist', 'one', 'two', 'three', 'four', 'five');
 echo $res21 . PHP_EOL;
 // >>> 5

 $res22 = $r->rpop('mylist');
 echo $res22 . PHP_EOL;
 // >>> five

 $res23 = $r->rpop('mylist', 2);
 echo json_encode($res23) . PHP_EOL;
 // >>> ["four","three"]

 $res24 = $r->lrange('mylist', 0, -1);
 echo json_encode($res24) . PHP_EOL;
 // >>> ["one","two"]
 }
}
PHP Quick-Start

Give these commands a try in the interactive console:

RPUSH mylist "one" "two" "three" "four" "five" LPOP mylist LPOP mylist 2 LRANGE mylist 0 -1

Redis Enterprise and Redis Cloud compatibility

Redis
Enterprise
Redis
Cloud
Notes
✅ Standard
✅ Active-Active
✅ Standard
✅ Active-Active

Return information

One of the following:

  • Nil reply: if the key does not exist.
  • Bulk string reply: when called without the count argument, the value of the first element.
  • Array reply: when called with the count argument, a list of popped elements.

History

RATE THIS PAGE
Back to top ↑

AltStyle によって変換されたページ (->オリジナル) /