当前位置: 首页 > news >正文

Redis 从入门到精通(四):字符串操作详解

系列导读:本篇将深入讲解 Redis 字符串(String)的所有操作命令及实际应用场景。


文章目录

    • 一、字符串命令总览
    • 二、基础操作命令
      • 2.1 SET 命令详解
      • 2.2 GET 相关命令
      • 2.3 字符串操作
    • 三、数值操作命令
      • 3.1 递增操作
      • 3.2 递减操作
    • 四、位操作命令
      • 4.1 位操作
    • 五、实战应用场景
      • 5.1 分布式锁
      • 5.2 计数器
      • 5.3 缓存
    • 总结

一、字符串命令总览

命令说明
SET/GET设置/获取值
SETEX/SETEX设置带过期时间
SETNX不存在时设置
MSET/MGET批量设置/获取
INCR/DECR递增/递减
APPEND追加字符串
STRLEN获取长度

二、基础操作命令

2.1 SET 命令详解

# 基本设置SET key value# 带参数设置SET key value[NX|XX][GET][EX seconds|PX milliseconds]# NX: 不存在时设置SET lock:key"locked"NX# XX: 存在时更新SET key"newvalue"XX# EX: 秒级过期SET key"value"EX60# PX: 毫秒级过期SET key"value"PX60000# GET: 返回旧值SET key"newvalue"GET

2.2 GET 相关命令

# 获取值GET key# 获取并设置新值GETSET key"newvalue"# 获取子串GETRANGE key05# 批量获取MGET key1 key2 key3

2.3 字符串操作

# 追加内容APPEND key"suffix"# 获取长度STRLEN key# 设置子串SETRANGE key0"new"

三、数值操作命令

3.1 递增操作

# +1INCR counter# +nINCRBY counter10# +浮点数INCRBYFLOAT price2.5

3.2 递减操作

# -1DECR counter# -nDECRBY counter5

四、位操作命令

4.1 位操作

# 设置位SETBIT mykey01SETBIT mykey10# 获取位GETBIT mykey0# 统计1的个数BITCOUNT mykey# 位运算BITOP AND destkey key1 key2 BITOP OR destkey key1 key2 BITOP XOR destkey key1 key2 BITOP NOT destkey key

五、实战应用场景

5.1 分布式锁

# 加锁SET lock:resource"uuid"NX EX30# 解锁(Lua脚本保证原子性)ifredis.call("GET", KEYS[1])==ARGV[1]thenreturnredis.call("DEL", KEYS[1])elsereturn0end

5.2 计数器

# 文章阅读量INCR article:100:views# 限流计数INCR rate:user:1001 EXPIRE rate:user:100160

5.3 缓存

# 缓存JSON数据SET cache:user:1001'{"name":"张三","age":25}'EXPIRE cache:user:10013600# 缓存穿透防护SET cache:null:1001""EX60

总结

本文我们学习了:

基础操作:SET/GET/MSET/MGET
数值操作:INCR/DECR/INCRBY
位操作:SETBIT/GETBIT/BITCOUNT
应用场景:分布式锁、计数器、缓存

下篇预告:Redis 从入门到精通(五):哈希操作详解


作者:刘~浪地球
系列:Redis 从入门到精通(四)
更新时间:2026-04-03

http://www.jsqmd.com/news/581929/

相关文章:

  • 游戏脚本助手,电脑点击器,脚本自动点击识图找图_无限试用版
  • c/c++代码如何在python环境中调用(本次应用需求:通过c++中的算法处理来自串口的数据)
  • 第一次才搞清楚,什么叫医保报销【以职工医保带入说明】!
  • Tree-sitter解析代码
  • Qwen3-32B部署全攻略:3步搞定,零基础也能快速上手
  • AgentCPM深度研报助手企业级部署架构设计:高并发下的性能与成本优化
  • 【西工大主办、连续多届稳定检索】第七届机械仪表与自动化国际学术会议(ICMIA 2026)
  • 技术方案: 封装 OpenCode 和 ClaudeCode 作为LLM API 服务,open ai LLM API 风格的,一个深度研究技术方案报告
  • C语言main函数到底该怎么写?6种写法全解析
  • 2026年农民工工资保函担保公司如何选择?一份专业排名与对比指南 - 速递信息
  • 2026年揭秘:GEO搜索优化公司如何赢得专业好名声?
  • Mac Mouse Fix安装方式决策指南:从需求分析到方案选择
  • Vin象棋:基于AI视觉的中国象棋智能辅助工具,轻松提升对弈水平
  • 钢边木箱主流方案横向评测分析
  • 提升爬虫效率:基于clawhub与快马平台实现自动化数据抓取与处理
  • PLA打印革命:AI算法破解行业痛点
  • 上海隔绝工地噪音门窗多少钱,凤铝新家装门窗工厂费用合理吗 - 工业品网
  • 反模式:从工程结果反推日常决策
  • 突破语言壁垒:Axure RP 9/10/11 极速汉化解决方案
  • # Java Web自研框架18年架构决策复盘(系列文)
  • 网络安全入门:SQL注入从原理到实战
  • Visual C++运行库一站式解决方案:从问题排查到高级应用指南
  • (2)JVS物联网平台“设备管理模块功能说明”
  • 开源工具G-Helper实现华硕笔记本色彩配置修复与显示优化的完整方案
  • 20260403_151844_字节大模型二面:Agent的记忆覆盖问题如何解决?
  • 如何使用Unlocker工具在VMware中启用macOS虚拟机支持
  • java Day08-2
  • 告别滚动混乱:Scroll Reverser让macOS输入设备各得其所
  • Windows与Office激活神器:KMS_VL_ALL_AIO全面使用指南
  • 利用快马平台快速集成豆包AI,十分钟搭建智能对话应用原型