Skip to content

API Reference

Complete reference for all public classes and methods.

Return types

pyrsedis returns raw RESP-parsed values. Unlike redis-py, hgetall returns a flat list (not a dict), smembers returns a list (not a set), and zrange(..., withscores=True) returns a flat list (not tuples). The scan cursor is a str, not an int. All string values (str vs bytes) depend on the decode_responses setting (default: True).

Redis

Constructor

Redis(
    host: str = "127.0.0.1",
    port: int = 6379,
    db: int = 0,
    password: str | None = None,
    username: str | None = None,
    pool_size: int = 8,
    connect_timeout_ms: int = 5000,
    read_timeout_ms: int = 30_000,
    idle_timeout_ms: int = 300_000,
    max_buffer_size: int = 67_108_864,
    decode_responses: bool = True,
)

Static methods

Method Returns Description
from_url(url, ...) Redis Create from URL. See URL schemes

Generic

Method Returns Description
execute_command(*args) Any Execute raw Redis command
pipeline() Pipeline Create a pipeline

String commands

Method Returns
set(name, value, ex=None, px=None, nx=False, xx=False) bool \| None
get(name) str \| None
mset(mapping) bool
mget(*names) list[str \| None]
delete(*names) int
exists(*names) int
incr(name) int
decr(name) int
incrby(name, amount) int
decrby(name, amount) int
incrbyfloat(name, amount) Any
append(name, value) int
strlen(name) int
getrange(name, start, end) str
getset(name, value) str | None
getdel(name) str | None
setnx(name, value) int
setex(name, seconds, value) Any

Hash commands

Method Returns
hset(name, key, value) int
hget(name, key) str | None
hgetall(name) Any
hdel(name, *keys) int
hexists(name, key) int
hkeys(name) list[str]
hvals(name) list[str]
hlen(name) int
hmget(name, *keys) list[str | None]
hincrby(name, key, amount) int
hincrbyfloat(name, key, amount) Any
hsetnx(name, key, value) int

List commands

Method Returns
lpush(name, *values) int
rpush(name, *values) int
lrange(name, start, stop) list[str]
llen(name) int
lpop(name, count=None) str | list[str] | None
rpop(name, count=None) str | list[str] | None
lindex(name, index) str | None
lset(name, index, value) Any
lrem(name, count, value) int

Set commands

Method Returns
sadd(name, *members) int
smembers(name) Any
scard(name) int
srem(name, *members) int
sismember(name, value) int
spop(name, count=None) Any
sinter(*names) Any
sunion(*names) Any
sdiff(*names) Any

Sorted set commands

Method Returns
zadd(name, mapping, nx=False, xx=False, gt=False, lt=False, ch=False) int
zrem(name, *members) int
zscore(name, member) float \| None
zrank(name, member) int \| None
zcard(name) int
zcount(name, min, max) int
zincrby(name, amount, member) Any
zrange(name, start, stop, withscores=False) Any
zrevrange(name, start, stop, withscores=False) Any
zrangebyscore(name, min, max, withscores=False, offset=None, count=None) Any
zremrangebyscore(name, min, max) int
zremrangebyrank(name, start, stop) int

Key commands

Method Returns
expire(name, seconds) int
pexpire(name, millis) int
expireat(name, when) int
ttl(name) int
pttl(name) int
persist(name) int
rename(src, dst) Any
type(name) Any
keys(pattern="*") list[str]
scan(cursor=0, match_pattern=None, count=None) list
dump(name) bytes \| None
unlink(*names) int
randomkey() str | None

Graph commands

Method Returns
graph_query(graph, query, timeout=None) Any
graph_ro_query(graph, query, timeout=None) Any
graph_delete(graph) Any
graph_list() list[Any]
graph_explain(graph, query) Any
graph_profile(graph, query) Any
graph_slowlog(graph) Any
graph_config(action, name, value=None) Any

Server commands

Method Returns
ping() bool
select(db) Any
flushdb() Any
flushall() Any
info(section=None) Any
dbsize() int
echo(message) str
publish(channel, message) int
time() list[Any]
lastsave() int

Scripting commands

Method Returns
eval(script, numkeys, *args) Any
evalsha(sha, numkeys, *args) Any
script_load(script) str

Properties

Property Type Description
pool_idle_count int Idle connections in pool
pool_available int Idle + free capacity

Pipeline

Created via r.pipeline(). All command methods return self for chaining.

Core methods

Method Returns Description
execute() list[Any] Send all buffered commands, return results
execute_command(*args) Pipeline Buffer a raw command
reset() None Clear buffered commands
len(pipe) int Number of buffered commands

Command methods

Most Redis command methods are available on Pipeline and return Pipeline (self) instead of the command result. Results are collected in execute(). For commands not available on Pipeline, use pipe.execute_command("CMD", "arg1", ...).