LPUSH key element [element ...]
@write
,
@list
,
@fast
,
Insert all the specified values at the head of the list stored at key
.
If key
does not exist, it is created as empty list before performing the push
operations.
When key
holds a value that is not a list, an error is returned.
It is possible to push multiple elements using a single command call just
specifying multiple arguments at the end of the command.
Elements are inserted one after the other to the head of the list, from the
leftmost element to the rightmost element.
So for instance the command LPUSH mylist a b c
will result into a list
containing c
as first element, b
as second element and a
as third element.
redis> LPUSH mylist "world"
(integer) 1
redis> LPUSH mylist "hello"
(integer) 2
redis> LRANGE mylist 0 -1
1) "hello"
2) "world"
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" ]
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();
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();}}
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();}}}
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();}}}
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]
}
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.
}
}
<?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"]
}
}
Give these commands a try in the interactive console:
element
arguments.