redis
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseRedis Data Structures
Redis 数据结构
Getting Started
快速开始
bash
undefinedbash
undefinedStart Redis server
启动Redis服务器
redis-server
redis-server
Connect to Redis CLI
连接到Redis命令行界面
redis-cli
redis-cli
Test connection
测试连接
ping # Returns "PONG"
ping # 返回 "PONG"
Select database
选择数据库
SELECT 0 # Default database
SELECT 1 # Database 1
undefinedSELECT 0 # 默认数据库
SELECT 1 # 数据库1
undefinedString Operations
字符串操作
// SET and GET
SET key value
SET user:1:name "John Doe"
GET user:1:name
// SET with options
SET key value EX 3600 // Expire in 3600 seconds
SET key value PX 3600000 // Expire in milliseconds
SET key value NX // Only if not exists
SET key value XX // Only if exists
// Numeric operations
SET counter 0
INCR counter // Increment by 1
INCRBY counter 5 // Increment by N
DECR counter // Decrement by 1
DECRBY counter 3 // Decrement by N
INCRBYFLOAT counter 2.5 // Increment by float
// String operations
APPEND key " suffix" // Append to string
STRLEN key // Get length
GETRANGE key 0 3 // Get substring
SETRANGE key 0 "new" // Set substring
// Multiple keys
MSET key1 val1 key2 val2 // Set multiple
MGET key1 key2 // Get multiple
GETSET key newval // Get old value and set new// 设置与获取
SET key value
SET user:1:name "John Doe"
GET user:1:name
// 带选项的设置
SET key value EX 3600 // 3600秒后过期
SET key value PX 3600000 // 毫秒级过期(3600000毫秒)
SET key value NX // 仅当键不存在时设置
SET key value XX // 仅当键存在时设置
// 数值操作
SET counter 0
INCR counter // 自增1
INCRBY counter 5 // 自增指定数值N
DECR counter // 自减1
DECRBY counter 3 // 自减指定数值N
INCRBYFLOAT counter 2.5 // 自增浮点数
// 字符串操作
APPEND key " suffix" // 追加字符串
STRLEN key // 获取字符串长度
GETRANGE key 0 3 // 获取子字符串
SETRANGE key 0 "new" // 设置子字符串
// 多键操作
MSET key1 val1 key2 val2 // 批量设置多个键值对
MGET key1 key2 // 批量获取多个键值
GETSET key newval // 获取旧值并设置新值List Operations (Ordered collections)
列表操作(有序集合)
// Push operations
LPUSH list value1 value2 // Push to left
RPUSH list value1 value2 // Push to right
LPUSHX list value // Push only if exists
RPUSHX list value // Push only if exists
// Pop operations
LPOP list // Remove and get from left
RPOP list // Remove and get from right
LPOP list 2 // Pop multiple (Redis 6.2+)
// List queries
LRANGE list 0 -1 // Get all elements
LRANGE list 0 2 // Get first 3 elements
LINDEX list 1 // Get element at index
LLEN list // Get list length
LSET list 0 newvalue // Set element at index
// Blocking operations
BLPOP list1 list2 10 // Block until pop or timeout
BRPOP list1 list2 10 // Block until right pop
BRPOPLPUSH src dst 10 // Block, pop right, push left
// Trimming
LTRIM list 0 2 // Keep only first 3 elements// 推入操作
LPUSH list value1 value2 // 从左侧推入元素
RPUSH list value1 value2 // 从右侧推入元素
LPUSHX list value // 仅当列表存在时从左侧推入
RPUSHX list value // 仅当列表存在时从右侧推入
// 弹出操作
LPOP list // 从左侧移除并获取元素
RPOP list // 从右侧移除并获取元素
LPOP list 2 // 批量弹出多个元素(Redis 6.2+)
// 列表查询
LRANGE list 0 -1 // 获取所有元素
LRANGE list 0 2 // 获取前3个元素
LINDEX list 1 // 获取指定索引位置的元素
LLEN list // 获取列表长度
LSET list 0 newvalue // 设置指定索引位置的元素
// 阻塞操作
BLPOP list1 list2 10 // 阻塞直到弹出元素或超时
BRPOP list1 list2 10 // 阻塞直到右侧弹出元素或超时
BRPOPLPUSH src dst 10 // 阻塞、从右侧弹出、推入左侧
// 修剪操作
LTRIM list 0 2 // 仅保留前3个元素Hash Operations (Maps/objects)
哈希操作(映射/对象)
// SET and GET
HSET hash field value // Set single field
HSET hash f1 v1 f2 v2 // Set multiple fields
HGET hash field // Get field value
HGETALL hash // Get all fields and values
// Existence and length
HEXISTS hash field // Check field exists
HLEN hash // Number of fields
HKEYS hash // Get all field names
HVALS hash // Get all values
HSTRLEN hash field // Get value length
// Update operations
HINCRBY hash field 5 // Increment numeric field
HINCRBYFLOAT hash field 2.5 // Increment by float
HSETNX hash field value // Set only if not exists
// Delete
HDEL hash field1 field2 // Delete fields// 设置与获取
HSET hash field value // 设置单个字段
HSET hash f1 v1 f2 v2 // 批量设置多个字段
HGET hash field // 获取指定字段的值
HGETALL hash // 获取所有字段和对应值
// 存在性与长度检查
HEXISTS hash field // 检查字段是否存在
HLEN hash // 获取字段数量
HKEYS hash // 获取所有字段名
HVALS hash // 获取所有字段值
HSTRLEN hash field // 获取字段值的长度
// 更新操作
HINCRBY hash field 5 // 对数值字段进行自增
HINCRBYFLOAT hash field 2.5 // 对数值字段进行浮点数自增
HSETNX hash field value // 仅当字段不存在时设置
// 删除操作
HDEL hash field1 field2 // 删除指定字段Set Operations (Unordered unique values)
集合操作(无序唯一值)
// Add and remove
SADD set member1 member2 // Add members
SREM set member1 member2 // Remove members
SISMEMBER set member // Check membership
SMEMBERS set // Get all members
SCARD set // Count members
// Set operations
SINTER set1 set2 // Intersection
SUNION set1 set2 // Union
SDIFF set1 set2 // Difference
SINTERSTORE dest s1 s2 // Store intersection result
SUNIONSTORE dest s1 s2 // Store union result
SDIFFSTORE dest s1 s2 // Store difference result
// Pop operations
SPOP set // Remove and return random member
SPOP set 2 // Remove and return N members
SRANDMEMBER set // Get random member without removing
SRANDMEMBER set 3 // Get N random members// 添加与移除
SADD set member1 member2 // 添加成员
SREM set member1 member2 // 移除成员
SISMEMBER set member // 检查成员是否存在
SMEMBERS set // 获取所有成员
SCARD set // 统计成员数量
// 集合运算
SINTER set1 set2 // 求交集
SUNION set1 set2 // 求并集
SDIFF set1 set2 // 求差集
SINTERSTORE dest s1 s2 // 将交集结果存储到目标集合
SUNIONSTORE dest s1 s2 // 将并集结果存储到目标集合
SDIFFSTORE dest s1 s2 // 将差集结果存储到目标集合
// 弹出操作
SPOP set // 随机移除并返回一个成员
SPOP set 2 // 随机移除并返回N个成员
SRANDMEMBER set // 随机获取一个成员(不移除)
SRANDMEMBER set 3 // 随机获取N个成员(不移除)Sorted Set Operations (Ordered by score)
有序集合操作(按分数排序)
// Add and remove
ZADD zset 1 member1 2 member2 // Add with scores
ZREM zset member1 // Remove members
ZCARD zset // Count members
ZSCORE zset member // Get score
// Range queries by score
ZRANGE zset 0 -1 // Get all by index
ZRANGE zset 0 -1 WITHSCORES // With scores
ZREVRANGE zset 0 -1 // Reverse order
ZREVRANGE zset 0 -1 WITHSCORES // Reverse with scores
ZRANGEBYSCORE zset 10 50 // Get by score range
ZRANGEBYSCORE zset -inf +inf // All scores
ZRANGEBYSCORE zset 10 50 LIMIT 0 5 // Pagination
// Score operations
ZINCRBY zset 5 member // Increment score
ZCOUNT zset 10 50 // Count in score range
// Rank queries
ZRANK zset member // Get rank (0-based)
ZREVRANK zset member // Get reverse rank// 添加与移除
ZADD zset 1 member1 2 member2 // 带分数添加成员
ZREM zset member1 // 移除成员
ZCARD zset // 统计成员数量
ZSCORE zset member // 获取成员的分数
// 按分数范围查询
ZRANGE zset 0 -1 // 按索引获取所有成员
ZRANGE zset 0 -1 WITHSCORES // 按索引获取所有成员及分数
ZREVRANGE zset 0 -1 // 按索引倒序获取所有成员
ZREVRANGE zset 0 -1 WITHSCORES // 按索引倒序获取所有成员及分数
ZRANGEBYSCORE zset 10 50 // 按分数范围获取成员
ZRANGEBYSCORE zset -inf +inf // 获取所有分数范围内的成员
ZRANGEBYSCORE zset 10 50 LIMIT 0 5 // 分页获取分数范围内的成员
// 分数操作
ZINCRBY zset 5 member // 对成员分数进行自增
ZCOUNT zset 10 50 // 统计指定分数范围内的成员数量
// 排名查询
ZRANK zset member // 获取成员排名(从0开始)
ZREVRANK zset member // 获取成员倒序排名Key Operations
键操作
// Key management
KEYS pattern // Find keys matching pattern
EXISTS key1 key2 // Check key existence
DEL key1 key2 // Delete keys
UNLINK key1 key2 // Async delete
TYPE key // Get key type
// Expiration
EXPIRE key 3600 // Set expiration (seconds)
PEXPIRE key 3600000 // Set expiration (milliseconds)
TTL key // Get TTL (seconds)
PTTL key // Get TTL (milliseconds)
PERSIST key // Remove expiration
// Renaming
RENAME oldkey newkey // Rename key
RENAMENX oldkey newkey // Rename only if new doesn't exist// 键管理
KEYS pattern // 查找匹配模式的键
EXISTS key1 key2 // 检查键是否存在
DEL key1 key2 // 删除键
UNLINK key1 key2 // 异步删除键
TYPE key // 获取键的类型
// 过期设置
EXPIRE key 3600 // 设置键的过期时间(秒)
PEXPIRE key 3600000 // 设置键的过期时间(毫秒)
TTL key // 获取键的剩余过期时间(秒)
PTTL key // 获取键的剩余过期时间(毫秒)
PERSIST key // 移除键的过期时间
// 重命名
RENAME oldkey newkey // 重命名键
RENAMENX oldkey newkey // 仅当新键不存在时重命名Transactions & Atomicity
事务与原子性
// Transaction execution
MULTI // Start transaction
SET key1 value1
INCR key2
GET key3
EXEC // Execute all commands atomically
// Discard transaction
MULTI
SET key value
DISCARD // Cancel transaction
// Watch keys
WATCH key1 key2 // Monitor keys for changes
MULTI
SET key1 newvalue
EXEC // Fails if keys changed// 事务执行
MULTI // 开启事务
SET key1 value1
INCR key2
GET key3
EXEC // 原子性执行所有命令
// 取消事务
MULTI
SET key value
DISCARD // 取消事务
// 监听键
WATCH key1 key2 // 监控键的变化
MULTI
SET key1 newvalue
EXEC // 如果键发生变化则执行失败Pub/Sub Messaging
发布/订阅消息
// Publisher
PUBLISH channel "message" // Publish to channel
// Subscriber
SUBSCRIBE channel1 channel2 // Subscribe to channels
PSUBSCRIBE pattern* // Subscribe to pattern
UNSUBSCRIBE channel // Unsubscribe
PUNSUBSCRIBE pattern // Unsubscribe from pattern
// Query subscriptions
PUBSUB CHANNELS // Active channels
PUBSUB NUMSUB ch1 ch2 // Subscribers per channel
PUBSUB NUMPAT // Pattern subscriptions count// 发布者
PUBLISH channel "message" // 向频道发布消息
// 订阅者
SUBSCRIBE channel1 channel2 // 订阅指定频道
PSUBSCRIBE pattern* // 订阅匹配模式的频道
UNSUBSCRIBE channel // 取消订阅指定频道
PUNSUBSCRIBE pattern // 取消订阅匹配模式的频道
// 查询订阅信息
PUBSUB CHANNELS // 获取活跃频道列表
PUBSUB NUMSUB ch1 ch2 // 获取指定频道的订阅者数量
PUBSUB NUMPAT // 获取模式订阅的数量Server Commands
服务器命令
DBSIZE // Total keys in DB
FLUSHDB // Clear current DB
FLUSHALL // Clear all DBs
SAVE // Synchronous save
BGSAVE // Background save
LASTSAVE // Last save time
INFO // Server statistics
CONFIG GET parameter // Get config value
CONFIG SET parameter value // Set config valueDBSIZE // 获取当前数据库的键总数
FLUSHDB // 清空当前数据库
FLUSHALL // 清空所有数据库
SAVE // 同步保存数据到磁盘
BGSAVE // 后台异步保存数据到磁盘
LASTSAVE // 获取最后一次保存的时间
INFO // 获取服务器统计信息
CONFIG GET parameter // 获取配置参数值
CONFIG SET parameter value // 设置配置参数值Next Steps
下一步
Learn Redis patterns for caching, sessions, rate limiting, and real-time applications in the skill.
redis-patterns在技能中学习Redis在缓存、会话、限流和实时应用中的使用模式。
redis-patterns