Redis 字符串(String)

String 的设值、计数、批量与位操作。

Beginner
Key PointsString 不只是字符串:能存整数做原子自增,是计数器和分布式锁的主力。

基础读写

Shell
SET views 0
INCR views            # 原子 +1,返回 1
INCRBY views 10       # +10,返回 11
GET views
APPEND views "x"      # 追加字符串
STRLEN views
Output
(integer) 1
(integer) 11
"11x"
(integer) 3

SETNX 与分布式锁

Shell
# 仅当不存在才设值:抢锁成功返回 1,失败返回 0
SETNX lock:order "1"
EXPIRE lock:order 30
# 更推荐的原子写法(设值 + 过期一步完成)
SET lock:order "1" NX EX 30
Output
(integer) 1
For locks, SET key val NX EX 30 makes 'acquire + expire' atomic, avoiding a crash after acquire but before expiry leaving a stuck lock. Release with a Lua script that checks ownership, not a plain DEL.

Friends & Partners