Valkey 中文社区

速查参考

Valkey 常用命令、配置、URI、端口、退出码一页带走。

常用命令分类

字符串 (String / KV)

命令作用
SET key value [EX sec] [NX|XX]设置值,可附 TTL
GET key
INCR / DECR key自增 / 自减
MSET k1 v1 k2 v2批量设置
GETEX key EX sec读并设 TTL
STRLEN key长度

哈希 (Hash)

命令作用
HSET key f1 v1 f2 v2设置字段
HGET / HMGET / HGETALL读字段
HEXPIRE key sec FIELDS n f1 ...字段级 TTL(8.0+)
HINCRBY key field n字段自增

列表 (List)

命令作用
LPUSH / RPUSH key v左 / 右 push
LPOP / RPOP key [count]pop
BLPOP / BRPOP key timeout阻塞 pop
LRANGE key start stop范围取
LMOVE src dst LEFT RIGHT原子转移

集合 (Set)

命令作用
SADD / SREM key m增 / 删
SMEMBERS key全部
SINTER / SUNION / SDIFF集合运算
SRANDMEMBER key [count]随机取

有序集合 (Sorted Set / ZSet)

命令作用
ZADD key score member
ZRANGE key 0 -1 [WITHSCORES]范围
ZRANGEBYSCORE key min max按分值
ZINCRBY key n member分值自增
ZPOPMIN / ZPOPMAX key弹出极值

流 (Stream)

命令作用
XADD key * field value追加
XREAD COUNT n STREAMS key id
XGROUP CREATE key grp $消费组
XREADGROUP GROUP grp consumer ...组消费
XACK key grp id确认

服务端

命令作用
PING探活
INFO [section]运行时信息
CONFIG GET / SET param动态配置
CLIENT LIST / KILL连接管理
DBSIZE当前 DB key 数
FLUSHDB / FLUSHALL清库(生产慎用)

集群

命令作用
CLUSTER INFO集群状态
CLUSTER NODES节点列表
CLUSTER SLOTS / SHARDS槽分布
CLUSTER COUNTKEYSINSLOT slot某槽 key 数
CLUSTER FAILOVER手动主从切换

ACL

命令作用
ACL LIST所有用户
ACL SETUSER name on >pwd ~prefix:* +@read创建 / 改
ACL WHOAMI当前身份
ACL CAT命令类别

连接 URI 格式

Scheme含义
redis://明文 TCP(兼容历史客户端)
rediss://TLS TCP(兼容)
valkey://明文 TCP(推荐新项目)
valkeys://TLS TCP(推荐新项目)
unix://Unix socket

完整示例:

valkeys://default:pass@node-1.example.com:6379/0?timeout=2s

大多数主流客户端(redis-py、ioredis、go-redis、jedis、lettuce)已经接受 valkey:// scheme,老版本仍可用 redis:// 连接 Valkey 服务端。

valkey.conf 常用配置

配置项说明常用值
port监听端口6379
bind绑定 IP127.0.0.1 / 0.0.0.0
protected-mode受保护模式yes
requirepass老式密码(建议用 ACL 取代)-
maxmemory最大内存4gb
maxmemory-policy淘汰策略allkeys-lru
appendonlyAOF 开关yes
appendfsyncAOF 刷盘everysec
saveRDB 触发条件3600 1 300 100
cluster-enabled集群模式no
replica-read-only从节点只读yes
io-threadsIO 线程数4
tls-portTLS 端口6379

maxmemory-policy 可选:noeviction / allkeys-lru / allkeys-lfu / volatile-lru / volatile-lfu / allkeys-random / volatile-random / volatile-ttl

valkey-cli 有用的 flag

Flag作用
-h host -p port目标
-a password密码
--user nameACL 用户
-n db选库
-c集群模式(自动跟 MOVED)
--tls启用 TLS
--scan --pattern 'user:*'扫 key(生产推荐用 SCAN 而非 KEYS)
--bigkeys找大 key
--memkeys按内存找 key
--latency实时延迟
--latency-history周期延迟
--stat简短运行统计
-x从 stdin 读最后一个参数(管道场景)
--rdb dump.rdb下载 RDB

环境变量:

变量作用
VALKEYCLI_AUTH密码——避免在命令行写 -a(会出现在 ps 与 shell 历史里)
VALKEYCLI_RCFILE启动脚本,类似 ~/.valkeyclirc

INFO 主要 section

Section内容
server版本 / 启动时间 / OS
clients连接数 / 阻塞数
memory内存使用 / 碎片率
persistenceRDB / AOF 状态
stats总命令数 / 命中率
replication主从角色 / 偏移量
cpuCPU 占用
commandstats每命令调用计数 / 延迟
cluster集群启用与否
keyspace每 DB key 数 / TTL 数

INFO server 既会显示 redis_version(保留兼容),也会显示 valkey_version——很多客户端通过前者识别为 Redis,这是有意为之。

端口约定

端口用途
6379客户端
16379集群 bus(= 客户端端口 + 10000)
26379Sentinel
7443TLS 客户端(Aiven 等托管商使用)

集群模式下两个端口必须都开放。

退出码

退出码含义
0正常退出(SHUTDOWN)
1启动失败(配置错 / 端口占用 / 权限)
130收到 SIGINT
143收到 SIGTERM

valkey-cli 的退出码也遵循同样语义,方便脚本判断。

更多命令文档:valkey.io/commands

On this page