You need to enable JavaScript to run this app.
导航

Lua 脚本中支持的命令

最近更新时间2024.03.07 19:25:41

首次发布时间2023.11.06 16:06:27

缓存数据库 Redis 版支持通过 Lua 脚本来处理 CAS(compare-and-swap)命令,满足 Redis 原子性操作需求,提升 Redis 性能。但并非所有的 Redis 命令都可以在 Lua 脚本中使用,本文介绍 Lua 脚本中支持的 Redis 命令详情供您参考。

说明

  • 缓存数据库 Redis 版支持的所有命令详情,请参见命令支持
  • 关于 Lua 脚本使用的更多详情,请参见 Lua 脚本使用指南
  • 关于表格中的标识,说明如下:
    • ✔️ :表示支持在 Lua 脚本中使用该命令。
    • ❌ :表示不支持在 Lua 脚本中使用该命令。

Bitmap

命令是否支持在 Lua 脚本中使用
BITCOUNT✔️
BITFIELD✔️
BITOP✔️
BITPOS✔️
GETBIT✔️
SETBIT✔️

Cluster Management

命令是否支持在 Lua 脚本中使用
CLUSTER ADDSLOTS
CLUSTER BUMPEPOCH
CLUSTER COUNT-FAILURE-REPORTS
CLUSTER COUNTKEYSINSLOT
CLUSTER DELSLOTS
CLUSTER FAILOVER
CLUSTER FLUSHSLOTS
CLUSTER FORGET
CLUSTER GETKEYSINSLOT
CLUSTER INFO
CLUSTER KEYSLOT
CLUSTER MEET
CLUSTER MYID
CLUSTER NODES
CLUSTER REPLICAS
CLUSTER REPLICATE
CLUSTER RESET
CLUSTER SAVECONFIG
CLUSTER SET-CONFIG-EPOCH
CLUSTER SETSLOT
CLUSTER SLAVES
CLUSTER SLOTS
READONLY
READWRITE

Connection Management

命令是否支持在 Lua 脚本中使用
ECHO✔️
PING✔️
SELECT✔️
AUTH
CLIENT CACHING
CLIENT GETNAME
CLIENT GETREDIR
CLIENT ID
CLIENT KILL
CLIENT LIST
CLIENT PAUSE
CLIENT REPLY
CLIENT SETNAME
CLIENT TRACKING
CLIENT UNBLOCK
HELLO
QUIT

Generic

命令是否支持在 Lua 脚本中使用
DEL✔️
DUMP✔️
EXISTS✔️
EXPIRE✔️
EXPIREAT✔️
KEYS✔️
MOVE✔️
OBJECT✔️
PERSIST✔️
PEXPIRE✔️
PEXPIREAT✔️
PTTL✔️
RANDOMKEY✔️
RENAME✔️
RENAMENX✔️
RESTORE✔️
SCAN✔️
SORT✔️
TOUCH✔️
TTL✔️
TYPE✔️
UNLINK✔️
MIGRATE
WAIT

Geospatial Indices

命令是否支持在 Lua 脚本中使用
GEOADD✔️
GEODIST✔️
GEOHASH✔️
GEOPOS✔️
GEORADIUS✔️
GEORADIUSBYMEMBER✔️

Hash

命令是否支持在 Lua 脚本中使用
HDEL✔️
HEXISTS✔️
HGET✔️
HGETALL✔️
HINCRBY✔️
HINCRBYFLOAT✔️
HKEYS✔️
HLEN✔️
HMGET✔️
HMSET✔️
HSCAN✔️
HSET✔️
HSETNX✔️
HSTRLEN✔️
HVALS✔️

HyperLogLog

命令是否支持在 Lua 脚本中使用
PFADD✔️
PFCOUNT✔️
PFMERGE✔️

List

命令是否支持在 Lua 脚本中使用
BRPOPLPUSH✔️
LINDEX✔️
LINSERT✔️
LLEN✔️
LPOP✔️
LPOS✔️
LPUSH✔️
LPUSHX✔️
LRANGE✔️
LREM✔️
LSET✔️
LTRIM✔️
RPOP✔️
RPOPLPUSH✔️
RPUSH✔️
RPUSHX✔️
BLPOP
BRPOP

Pub/Sub

命令是否支持在 Lua 脚本中使用
PUBLISH✔️
PUBSUB✔️
PSUBSCRIBE
PUNSUBSCRIBE
SUBSCRIBE
UNSUBSCRIBE

Scripting and Functions

命令是否支持在 Lua 脚本中使用
EVAL
EVALSHA
SCRIPT DEBUG
SCRIPT EXISTS
SCRIPT FLUSH
SCRIPT KILL

Server Management

命令是否支持在 Lua 脚本中使用
COMMAND✔️
COMMAND COUNT✔️
COMMAND GETKEYS✔️
COMMAND INFO✔️
DBSIZE✔️
FLUSHALL✔️
FLUSHDB✔️
INFO✔️
LASTSAVE✔️
LOLWUT✔️
MEMORY DOCTOR✔️
MEMORY HELP✔️
MEMORY MALLOC-STATS✔️
MEMORY PURGE✔️
MEMORY STATS✔️
MEMORY USAGE✔️
SLOWLOG✔️
SWAPDB✔️
TIME✔️
ACL CAT
ACL DELUSER
ACL GENPASS
ACL GETUSER
ACL HELP
ACL LIST
ACL LOAD
ACL LOG
ACL SAVE
ACL SETUSER
ACL USERS
ACL WHOAMI
BGREWRITEAOF
BGSAVE
CONFIG HELP
CONFIG GET
CONFIG RESETSTAT
CONFIG REWRITE
CONFIG SET
DEBUG OBJECT
DEBUG SEGFAULT
LATENCY DOCTOR
LATENCY GRAPH
LATENCY HELP
LATENCY HISTORY
LATENCY LATEST
LATENCY RESET
MODULE LIST
MODULE LOAD
MODULE UNLOAD
MONITOR
PSYNC
REPLICAOF
ROLE
SAVE
SHUTDOWN
SLAVEOF
SYNC

Set

命令是否支持在 Lua 脚本中使用
SADD✔️
SCARD✔️
SDIFF✔️
SDIFFSTORE✔️
SINTER✔️
SINTERSTORE✔️
SISMEMBER✔️
SMEMBERS✔️
SMISMEMBER✔️
SMOVE✔️
SPOP✔️
SRANDMEMBER✔️
SREM✔️
SSCAN✔️
SUNION✔️
SUNIONSTORE✔️

Sorted Set

命令是否支持在 Lua 脚本中使用
ZADD✔️
ZCARD✔️
ZCOUNT✔️
ZINCRBY✔️
ZINTERSTORE✔️
ZLEXCOUNT✔️
ZPOPMAX✔️
ZPOPMIN✔️
ZRANGE✔️
ZRANGEBYLEX✔️
ZRANGEBYSCORE✔️
ZRANK✔️
ZREM✔️
ZREMRANGEBYLEX✔️
ZREMRANGEBYRANK✔️
ZREMRANGEBYSCORE✔️
ZREVRANGE✔️
ZREVRANGEBYLEX✔️
ZREVRANGEBYSCORE✔️
ZREVRANK✔️
ZSCAN✔️
ZSCORE✔️
ZUNIONSTORE✔️
BZPOPMAX
BZPOPMIN

Stream

命令是否支持在 Lua 脚本中使用
XACK✔️
XADD✔️
XCLAIM✔️
XDEL✔️
XGROUP✔️
XINFO✔️
XLEN✔️
XPENDING✔️
XRANGE✔️
XREAD✔️
XREADGROUP✔️
XREVRANGE✔️
XTRIM✔️

String

命令是否支持在 Lua 脚本中使用
APPEND✔️
DECR✔️
DECRBY✔️
GET✔️
GETRANGE✔️
GETSET✔️
INCR✔️
INCRBY✔️
INCRBYFLOAT✔️
MGET✔️
MSET✔️
MSETNX✔️
PSETEX✔️
SET✔️
SETEX✔️
SETNX✔️
SETRANGE✔️
STRALGO✔️
STRLEN✔️

Transactions

命令是否支持在 Lua 脚本中使用
DISCARD
EXEC
MULTI
UNWATCH
WATCH