Redis中String命令的基础操作
文章目录
- Redis中String命令的基础操作
- 一、引言
- 二、String类型的基础命令
- 1、设置与获取值
- 1.1、SET命令
- 1.2、GET命令
- 2、字符串操作
- 2.1、APPEND命令
- 2.2、GETRANGE命令
- 2.3、SETRANGE命令
- 2.4、STRLEN命令
- 3、数值操作
- 3.1、INCR命令
- 3.2、DECR命令
- 3.3、INCRBY和DECRBY命令
- 三、应用场景
- 1、缓存
- 2、计数器
- 3、共享会话
- 四、总结
Redis中String命令的基础操作
一、引言
Redis是一个高性能的key-value数据库,它以其出色的读写性能和丰富的数据结构而闻名。在Redis中,String是最基本的数据类型,可以存储字符串、整数、浮点数以及二进制数据。本文将详细介绍Redis中String命令的基础操作,帮助开发者更好地理解和使用Redis。
二、String类型的基础命令
1、设置与获取值
1.1、SET命令
SET命令用于设置指定key的值。如果key已经存在,则会更新其关联的值。命令的基本格式如下:
SET key value
可选参数包括:
EX seconds:设置键值对的过期时间(秒)。PX milliseconds:设置键值对的过期时间(毫秒)。NX:仅当键不存在时设置。XX:仅当键已经存在时设置。
例如:
SET name "ning" EX 3600 NX
这个命令会设置key为name的值为ning,并且这个键值对将在1小时后过期,同时只有在name这个key不存在的情况下才会设置。
SET name "ning" PX 3600000 XX
这个命令会设置key为name的值为ning,并且这个键值对将在1小时(3600000毫秒)后过期,同时只有在name这个key已经存在的情况下才会更新值。
1.2、GET命令
GET命令用于获取指定key的值。如果key不存在,则返回nil。
GET key
2、字符串操作
2.1、APPEND命令
APPEND命令用于追加值到指定key的值的末尾。如果key不存在,就创建一个新的key,并设置其值为给定的值。
APPEND key value
例如:
APPEND greeting "Hello, "
如果greeting这个key不存在,那么会创建这个key,并设置其值为"Hello, "。
2.2、GETRANGE命令
GETRANGE命令用于获取key对应字符串的指定范围的子串。
GETRANGE key start end
其中start和end是子串的开始和结束下标,下标支持负数,表示从字符串的末尾开始计数。
例如:
SET greeting "Hello, World!"
GETRANGE greeting 0 4
这将返回"Hello",因为从索引0开始到索引4结束的子字符串就是"Hello"。
2.3、SETRANGE命令
SETRANGE命令用于设置key对应字符串的指定位置的值。
SETRANGE key offset value
offset是开始设置值的位置,value是新值。
例如:
SET greeting "Hi"
SETRANGE greeting 2 "ello"
这将把greeting这个key对应的字符串中的第2个位置开始的子串替换为"ello",因此greeting的值将变为"Hello"。
2.4、STRLEN命令
STRLEN命令用于获取key对应字符串的长度。
STRLEN key
例如:
SET message "Hello, World!"
STRLEN message
这将返回13,因为"Hello, World!"的长度是13个字符。
3、数值操作
3.1、INCR命令
INCR命令用于将key对应的值增加1。如果key不存在,就将其值设置为1后增加。
INCR key
例如:
SET counter 10
INCR counter
这将返回11,并将counter的值增加到11。
3.2、DECR命令
DECR命令用于将key对应的值减少1。如果key不存在,就将其值设置为-1后减少。
DECR key
例如:
SET counter 10
DECR counter
这将返回9,并将counter的值减少到9。
3.3、INCRBY和DECRBY命令
INCRBY和DECRBY命令用于将key对应的值增加或减少指定的数值。
INCRBY key increment
DECRBY key decrement
例如:
SET counter 10
INCRBY counter 5
DECRBY counter 3
这将首先将counter的值增加5到15,然后将counter的值减少3到12。
三、应用场景
1、缓存
String类型常用于缓存功能,因为它可以快速地存取数据。例如,可以缓存用户的会话信息、商品信息等。
2、计数器
String类型也常用于计数器功能。例如,可以使用INCR命令实现对网页的访问次数进行计数。
3、共享会话
在分布式系统中,可以使用String类型来存储用户的会话信息,实现会话信息的共享。
四、总结
Redis的String类型是其最基础也是最灵活的数据类型之一,支持对字符串值的多种操作。通过掌握这些基础命令,可以有效地利用Redis进行数据存储和处理。在实际应用中,String类型可以用于缓存、计数器、共享会话等多种场景,极大地提升了数据处理的效率和灵活性。
版权声明:本博客内容为原创,转载请保留原文链接及作者信息。
参考文章:
- redis中String命令的基础操作-CSDN博客
- Redis 入门实践
相关文章:
Redis中String命令的基础操作
文章目录 Redis中String命令的基础操作一、引言二、String类型的基础命令1、设置与获取值1.1、SET命令1.2、GET命令 2、字符串操作2.1、APPEND命令2.2、GETRANGE命令2.3、SETRANGE命令2.4、STRLEN命令 3、数值操作3.1、INCR命令3.2、DECR命令3.3、INCRBY和DECRBY命令 三、应用场…...
策略模式+模版模式+工厂模式
工厂模式: (1)避免类中出现过多的组合依赖 (2)同时减少代码中出现过多的if...else if...语句 (2)将调用者跟我们的实现类解耦 模版模式: (1)功能复用 &…...
云计算平台层(PaaS)指的是什么?常见的应用场景盘点
云计算平台层(PaaS)指的是什么?云计算平台层(PaaS),全称PlatformasaService(平台即服务),是云计算服务的一种重要模式。为用户提供了一个基于云端的开发和部署环境,允许用户开发、运…...
搜索引擎简介
搜索引擎架构 整个搜索引擎分为三个系统 爬虫系统 索引系统 线上搜素服务 爬虫系统 爬虫分为两个阶段: 第一阶段:根据目标网站的列表页,爬对应的文档 URL 第二阶段:根据文档 URL,下载文档内容 触发器࿱…...
每天认识几个maven依赖(aislib+A1TRMI+Andromda+Annogen)
十七、aislib 1、是什么? aislib用于与人工智能(AI)相关的任务。这可能包括支持机器学习、数据分析或其他 AI 功能的工具。用于集成或扩展 AI 功能到 Java 项目中。 2、有什么用? 机器学习: 提供各种机器学习算法和…...
每日算法1(快慢指针)
通过一道题来了解快慢指针 这是一道力扣的算法题,首先来读题,是删除链表的中间元素,先来分析一下题,链表一共有三种可能,第一种是空链表,第二种链表的个数是偶数,第三种是链表的个数是奇数&…...
基于RealSense D435相机简单实现手部姿态重定向
基于Intel RealSense D435 相机和 MediaPipe的手部姿态检测,进一步简单实现手部姿态与机器人末端的重定向。 假设已经按照【基于 RealSenseD435i相机实现手部姿态检测】配置好所需的库和环境,并且有一个可以控制的机器人接口。 一、手部姿态重定向介绍 …...
Linux下搭建iSCSI共享存储-Tgt
Linux下搭建iSCSI共享存储-Tgt 在Linux上使用tgt搭建iSCSI共享存储,可以实现多个客户端同时访问共享存储。 1. 安装iSCSI Target软件包 使用下面命令安装: # centos sudo yum install scsi-target-utils sudo systemctl status tgtd# ubuntu sudo ap…...
js中正则表达式中【exec】用法深度解读
exec() 是 JavaScript 正则表达式对象(RegExp)中的一个方法,用于匹配字符串中的特定模式,并返回匹配结果。它比 test() 和 match() 更强大,因为它不仅仅返回匹配成功与否,还返回匹配的具体内容及其相关信息…...
Dockerfile的详解与案例
《Dockerfile 详解与案例》 一、Dockerfile 简介 Dockerfile 是一个用来构建 Docker 镜像的文本文件,它包含了一系列指令,用于描述如何创建一个 Docker 镜像。通过 Dockerfile,你可以定义镜像的基础环境、安装软件包、设置环境变量等操作&a…...
[spring]用MyBatis XML操作数据库 其他查询操作 数据库连接池 mysql企业开发规范
文章目录 一. MyBatis XML配置文件1. 配置链接字符串和MyBatis2. 写持久层代码方法定义Interface方法实现xml测试 3. 增删改查增:删改查 二. 开发规范(mysql)三. 其他查询操作1. 多表查询2. #{} 和 ${}(面试题)使用区别 排序功能like查询 三. 数据库连接池 一. MyBatis XML配置…...
[产品管理-33]:实验室技术与商业化产品的距离,实验室技术在商业化过程中要越过多少道“坎”?
目录 一、实验室技术 1.1 实验室研究性技术 1.2 技术发展的S曲线 技术发展S曲线的主要阶段和特点 技术发展S曲线的意义和应用 二、实验室技术商业化的路径 2.1 实验室技术与商业化产品的距离 1、技术成熟度与稳定性 - 技术自身 2、市场需求与适应性 - 技术是满足需求 …...
【有啥问啥】 Self-Play技术:强化学习中的自我进化之道
Self-Play技术:强化学习中的自我进化之道 在人工智能的快速发展中,强化学习(Reinforcement Learning, RL)已成为推动智能体自主学习与优化的关键力量。Self-Play技术,作为强化学习领域的一项前沿创新,通过…...
LCR 008. 长度最小的子数组
文章目录 1.题目2.思路3.代码 1.题目 LCR 008. 长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返回其长度**。**如果不存在符合条件…...
uniApp 解决uniapp三方地图获取位置接口的请求次数限制问题,分别提供 Android 和 iOS 的实现方法(原生插件获取)
以下是使用 UniApp 编写获取位置信息的原生插件步骤,这里分别提供 Android 和 iOS 的实现方法。 一、Android 端实现 创建原生插件模块 在 UniApp 项目目录下创建一个目录,比如 nativeplugins/android/locationPlugin。使用 Android Studio 创建一个 An…...
Zabbix Agent 监控 MySQL 进程状态
1. 使用 Zabbix Agent 监控 MySQL 进程状态 这是最简单的方式,通过 Zabbix Agent 监控 MySQL 进程是否在运行。具体步骤如下: 步骤1: 确认 MySQL 进程的名称 在你的 CentOS 服务器上,运行以下命令来确认 MySQL 进程的名称: ps aux | grep mysql通常,MySQL 服务的进程名…...
【模型】感知器
感知器是最早的人工神经网络之一,也是现代深度学习的基础之一。 1. 感知器(Perceptron) 1.1 定义与功能 感知器是一种线性二分类模型,旨在模拟生物神经元的基本功能。它通过对输入特征进行加权求和,并应用激活函数来…...
HtmlCss 基础总结(基础好了才是最能打的)五
Html&Css 基础学习回顾总结 Html&Css 基础总结(基础好了才是最能打的)一 Html&Css 基础总结(基础好了才是最能打的)二 Html&Css 基础总结(基础好了才是最能打的)三 Html&Css 基础总结…...
图神经网络实战——分层自注意力网络
图神经网络实战——分层自注意力网络 0. 前言1. 分层自注意力网络1.1 模型架构1.2 节点级注意力1.3 语义级注意力1.4 预测模块 2. 构建分层自注意力网络相关链接 0. 前言 在异构图数据集上,异构图注意力网络的测试准确率为 78.39%,比之同构版本有了较大…...
基于深度学习的数字识别系统的设计与实现(python、yolov、PyQt5)
💗博主介绍💗:✌在职Java研发工程师、专注于程序设计、源码分享、技术交流、专注于Java技术领域和毕业设计✌ 温馨提示:文末有 CSDN 平台官方提供的老师 Wechat / QQ 名片 :) Java精品实战案例《700套》 2025最新毕业设计选题推荐…...
[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...
Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...
脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...
02.运算符
目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&:逻辑与 ||:逻辑或 !:逻辑非 短路求值 位运算符 按位与&: 按位或 | 按位取反~ …...
