Redis 操作 String 类型数据的常用方法

Redis 操作 String 类型数据的常用方法

经验文章nimo972025-05-26 0:18:024A+A-

Redis 的 String 类型是最基本的数据类型,可以存储字符串、整数或浮点数。以下是操作 String 类型的主要方法:

一、基本操作命令

1. 设置值

  • SET key value:设置指定 key 的值
SET name "John"
  • SETNX key value:当 key 不存在时设置值(原子性操作)
  • SETNX lock_key 1 # 常用于实现分布式锁
  • SETEX key seconds value:设置值并指定过期时间(秒)
SETEX session_token 3600 "abc123"

2. 获取值

  • GET key:获取指定 key 的值
GET name # 返回 "John"
  • GETSET key value:设置新值并返回旧值
GETSET counter 100 # 返回旧值,设置新值为100
  • MGET key1 [key2..]:获取多个 key 的值
MGET name age email

3. 值操作

  • STRLEN key:获取值的长度
STRLEN name # 返回 4 ("John"的长度)
  • APPEND key value:追加值
APPEND name " Doe" # 值变为 "John Doe"
  • GETRANGE key start end:获取子字符串
GETRANGE name 0 3 # 返回 "John"

二、数字操作

String 类型可以存储数字,Redis 提供了专门的数字操作命令:

1. 自增/自减

  • INCR key:将 key 中存储的数字值增一
SET views 10 INCR views # views → 11
  • INCRBY key increment:增加指定数值
INCRBY views 5 # views → 16
  • DECR key:将 key 中存储的数字值减一
DECRBY key decrement:减少指定数值

2. 位操作

  • SETBIT key offset value:设置或清除位的值
SETBIT mybit 7 1 # 设置第7位为1
  • GETBIT key offset:获取位的值
BITCOUNT key [start end]:统计值为1的位数

三、批量操作

  • MSET key value [key value ...]:同时设置多个键值对
MSET name "John" age 30 email "john@example.com"
  • MSETNX key value [key value ...]:当所有key都不存在时设置多个键值对

四、高级操作

1. 过期时间相关

  • SET key value EX seconds:SET + EXPIRE 的原子操作
SET session:123 "data" EX 3600 # 1小时后过期

五、使用场景

  1. 缓存:存储简单数据
SET user:1:name "John"
  1. 计数器:文章阅读量、用户点赞等
INCR article:1001:views
  1. 分布式锁
SET lock:order:1234 true EX 30 NX
  1. 位图统计:用户签到、活跃用户统计
SETBIT user:sign:2023:05:01 1001 1
点击这里复制本文地址 以上内容由nimo97整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

尼墨宝库 © All Rights Reserved.  蜀ICP备2024111239号-7