Skip to content

Unsupported Redis commands

Common Redis commands fastcached does not implement, with a hint where one exists. Anything not listed here and not on the supported list returns -ERR unknown command.

Data-structure commands

Lists (LPUSH, RPUSH, LPOP, RPOP, LRANGE, LLEN, …), hashes (HSET, HGET, HGETALL, …), sets (SADD, SMEMBERS, SINTER, …), sorted sets (ZADD, ZRANGE, ZRANGEBYSCORE, …), streams (XADD, XREAD, …) and bitfields are not supported. fastcached's storage engine is a key-value cache; data-structure commands need a different storage model.

If a key-value workflow currently uses a list or set as a serialized blob, store it via SET and unpack on the client.

Pub / sub

SUBSCRIBE, UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBLISH are not implemented. Pub/sub requires a fan-out subsystem that is out of scope.

Scripting

EVAL, EVALSHA, SCRIPT * are not implemented.

Transactions

MULTI, EXEC, DISCARD, WATCH, UNWATCH are not implemented. For atomic conditional writes, use memcached's cas or meta ms C(token).

Cluster / replication

Cluster commands (CLUSTER *), replication commands (REPLICAOF, SLAVEOF, SYNC, PSYNC), and persistence commands (BGSAVE, BGREWRITEAOF) are not implemented. fastcached is a single-node cache with its own persistence story (see the persistent-storage docs in the project source).

Multiple databases

SELECT is accepted as a no-op for any index (it always replies +OK) so client connection setup succeeds, but fastcached has a single flat keyspace and the index is ignored. See SELECT.

Server commands

DEBUG, MONITOR, LASTSAVE, OBJECT *, MEMORY *, LATENCY *, SLOWLOG * are not implemented. Use fastcached's stats (memcached text protocol) for similar information.

CLIENT and CONFIG are accepted as compatibility stubs rather than fully implemented — they answer the handshake probes Redis client libraries send on connect (CLIENT SETNAME / SETINFO / ID / GETNAME, CONFIG GET) without holding any real state. See CLIENT and CONFIG.