Redis数据类型之string

news2025/7/18 0:34:28

文章目录

  • string
    • Ⅰ. 增删查改
    • Ⅱ. 加减操作
    • Ⅲ. 数据生命周期
    • Ⅳ. 业务场景 - 高频数据
    • Ⅴ. 注意事项


提示:以下是本篇文章正文内容,Redis系列学习将会持续更新

string

在这里插入图片描述

存储的数据:单个数据,最简单的数据存储类型,也是最常用的数据存储类型
存储数据的格式:一个存储空间保存一个数据
存储内容:通常使用字符串,如果字符串以整数的形式展示,可以作为数字操作使用

Ⅰ. 增删查改

● 一组数据

添加/修改数据
	set key value
获取数据
	get key
删除数据
	del key

● 多组数据

添加/修改多个数据
	mset key1 value1 key2 value2 …
获取多个数据
	mget key1 key2 …

● 获取数据字符个数(字符串长度)

strlen key

● 字符串拼接, 追加信息到原始信息后部

append key value

在这里插入图片描述

回到目录…

Ⅱ. 加减操作

● 设置数值数据增加指定范围的值

incr key				相当于 v++
incrby key increment	相当于 v += increment
incrbyfloat key increment

● 设置数值数据减少指定范围的值

decr key				相当于 v--
decrby key increment	相当于 v -= increment

string 作为数值操作:

  • string 在 redis 内部存储默认就是一个字符串,当遇到增减类操作 incr、decr 时会转成数值型进行计算。
  • redis 所有的操作都是原子性的,采用单线程处理所有业务,命令是一个一个执行的,因此无需考虑并发带来的数据影响。
  • 注意:按数值进行操作的数据,如果原始数据不能转成数值,或超越了redis 数值上限范围,将报错。 9223372036854775807(java中long型数据最大值,Long.MAX_VALUE)

Tips 1:

  • redis 用于控制数据库表主键id,为数据库表主键提供生成策略,保障数据库表的主键唯一性。
  • 此方案适用于所有数据库,且支持数据库集群。

回到目录…

Ⅲ. 数据生命周期

● 设置数据具有指定的生命周期。通过数据是否失效控制业务行为,适用于所有具有时效性限定控制的操作。

setex key seconds value
psetex key milliseconds value

业务场景

① “最强女生”启动海选投票,只能通过微信投票,每个微信号每 4 小时只能投1票。
② 电商商家开启热门商品推荐,热门商品不能一直处于热门期,每种商品热门期维持3天,3天后自动取消热门。
③ 新闻网站会出现热点新闻,热点新闻最大的特征是时效性,如何自动控制热点新闻的时效性。

回到目录…

Ⅳ. 业务场景 - 高频数据

在这里插入图片描述

● 在redis中为大V用户设定用户信息,以用户主键和属性值作为key,后台设定定时刷新策略即可

user:id:3506728370:fans		→	 12210947
user:id:3506728370:blogs 	→ 	6164
set user:id:3506728370:fans 12210947
set user:id:3506728370:blogs 6164

● 在redis中以json格式存储大V用户信息,定时刷新(也可以使用hash类型)

user:id:35067{"id":35067,"fans":12210862,"blogs":6164}
set user:id:35067 {id:35067,fans:1221062,blogs:6164}

● redis应用于各种结构型和非结构型高热度数据访问加速

● 数据库中的热点数据key命名惯例

表 名 : 主键名 :  主键值   : 字段名
order :  id  :  29437595  : name
equip :  id  :  390472345 : type
news  :  id  :  202004150 : title

回到目录…

Ⅴ. 注意事项

  1. 数据操作不成功的反馈与数据正常操作之间的差异
    ① 表示运行结果是否成功
     (integer) 0 → false 失败
     (integer) 1 → true 成功
    ② 表示运行结果值
     (integer) 3 → 3个
     (integer) 1 → 1个
  2. 数据未获取到
    (nil)等同于null
  3. 数据最大存储量
    512MB
  4. 数值计算最大范围(java中的long的最大值)
    9223372036854775807

回到目录…


总结:
提示:这里对文章进行总结:
本文是对Redis的学习,学习了string类型的增删查改、生命周期、key的命名习惯。之后的学习内容将持续更新!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/17582.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Paket在Linux下使用问题

1. 系统软件版本 Linux系统:Debian 10,需安装mono-devel Paket版本:7.1.5 关于Paket的介绍:https://github.com/fsprojects/Paket Paket的发布版本:https://github.com/fsprojects/Paket/releases 2. 使用方法 将…

原来背后都是商业利益,看到网易和暴雪的解约之后,原来是要定以后的KPI,坐地起价,但是一个时代已经结束了,都留在了记忆之中

1,大瓜新闻,2023年1月暴雪游戏中国将不会续约?? 2,原因是主要坐地起价,提高分成设置KPI 还好网易有自研游戏,估计早知道会有现在这样的情况。 提前做好了准备。还记得有个公司叫 九城吗&#x…

Linux操作系统~带你理解文件系统与软硬链接

目录 1.C语言中的FILE和文件描述符对应的file 2.Linux的EXT系列的文件系统 (1).block group中六个部分的内容 inode索引结点相关 Q:这两个inode有什么不同? (2).一个文件的inode和对应的block如何关联…

off-by-one (b00ks)

前言 个人简略记录,过程不详细 gdb开始调试 vmmap查看程序基地址为 0x555555400000 继续运行,输入auth search hollk关键字,auth存放的地址可以找出为:0x555555602040 圈起来的是溢出的 \x00 创建两个books 因为图书的结构体指…

数据库以及数据库常用概念、ER模型相关概念

目录 1.我们为什么要学习数据库? 2.数据库的相关概念: 2.关系型数据库和非关系型数据库的区别 A.关系型数据库: B.非关系型数据库: C.非关系型数据库的相关类别有以下几种: 3.关系型数据库设计规则 4.表、记录、…

华为数据中心VS技术理论讲解

目录 VS之间的关系 VS的配置管理权限 VS之间、VS与外部通信 VS资源分配 VS与其它技术的联合部署 VS的创建和删除 VS(Virtual System)虚拟系统是指将一台物理设备虚拟成多个相互隔离的逻辑设备 逻辑设备之间软硬件隔离,互不影响&#xff…

立体式校验保护,让你的系统避免 90% 以上的 bug

1. 概览 在实际开发过程中,数据校验是最为重要的一环,问题数据一旦进入系统,将对系统造成不可估量的损失。轻者,查询时触发空指针异常,导致整个页面不可用;重者,业务逻辑错误,造成流…

为了买个硬盘,我专门写了篇笔记

文章目录SSD是固态硬盘的一些参数插槽接口总线类型传输协议插槽接口/总线/协议关联参考连接HDD是机械硬盘;SSD是固态硬盘。 SSD是固态硬盘的一些参数 插槽接口 外观不同而已;插槽接口不影响传输速度,但是插槽接口不适配的话是肯定插不到电脑…

力扣(LeetCode)12. 整数转罗马数字(C++)

模拟 罗马数字和掰手指数数的区别在于,IV/IXIV/IXIV/IX 这类倒着数数的,和阿拉伯数字最大的区别在于 555 的 10k10^k10k 倍 k∈Nk\isin Nk∈N ,需要被表示出来。所以除了记录 I/X/C/MI/X/C/MI/X/C/M ——1/10/100/10001/10/100/10001/10/100…

activiti-image-generator

activiti-image-generator目录概述需求:设计思路实现思路分析1.ActivitiImageException2.ProcessDiagramGenerator3.ProcessDiagramSVGGraphics2D4.ProcessDiagramDOMGroupManager5.DefaultProcessDiagramGenerator参考资料和推荐阅读Survive by day and develop by…

Smart point智能指针(part.1)

1:为什么出现智能指针   为了避免多个指针指向一个对象的时候 销毁其中一个point 其他的point就会变成空point 或者多次删除被指向对象而发生报错   或者单纯删除指针 不删除其指向的对象 当最后一个指向对象被删除的时候 对象依然存在 造成资源泄露  智能指针…

MATLAB continue语句

详细例子&#xff1a; 在MATLAB中建立一个脚本文件&#xff0c;并输入下述代码&#xff1a; a 10; %while loop execution while a < 20if a 15% skip the iteration a a 1;continue;endfprintf(value of a: %d , a);a a 1; end 运行该文件&#xff0c;显示下…

unet医学肺部ct图分割简单记录

UNet医学图像分割 说明&#xff1a; 本项目采用pytorch——gpu——cuda11.6本项目用的UNet网络架构一、硬件&#xff1a; Windows GPU 二、软件环境安装&#xff1a; pytorchNibabel 三、用法&#xff1a; 医学数据采集为kaggle的官网新冠肺炎ct图数据预处理&#xff1a;1…

青少年python系列 45.文件操作1

青少年python系列目录_老程序员115的博客-CSDN博客 青少年python教学视频ppt源码 在计算机信息时代&#xff0c;我们知道文本文件可存储的数据量多得难以置信&#xff0c;例如气象站的天气数据、交管部门的交通数据、金融商业街的社会经济数据、电子图书馆或博物馆的文学作品等…

做斗音都要经历的几个时期,你目前处于哪个阶段呢?

大家好&#xff0c;我是我赢助手&#xff0c;专注于自媒体短视频去水印、去重和文案提取运营。 今天给大家分享下做斗音的几个时期 1、兴奋期 听别人说斗音遍地是黄金开始到处学艺买资料准备大干一场。 这时是最关键的&#xff0c;能学到可以实操的项目才是最重要的&#x…

施耐德PLC TM218如何实现远程上传下载程序?

施耐德TM218支持IEC61131-3标准的六种编程语言&#xff0c;具备模块化、结构紧凑、功能全面等特点&#xff0c;在工业控制领域应用广泛&#xff0c;是市场上常见的产品之一&#xff0c;性价比较高。 因此&#xff0c;对于采购施耐德PLC的企业来说&#xff0c;通过PLC程序的上下…

【18-业务开发-基础业务-商品模块-分类管理-前后端管理系统的启动-为分类管理表增加数据-Json插件的下载-返回具有层级目录、父子关系结构的数据】

一.知识回顾 【0.三高商城系统的专题专栏都帮你整理好了&#xff0c;请点击这里&#xff01;】 【1-系统架构演进过程】 【2-微服务系统架构需求】 【3-高性能、高并发、高可用的三高商城系统项目介绍】 【4-Linux云服务器上安装Docker】 【5-Docker安装部署MySQL和Redis服务】…

内网渗透神器CobaltStrike之DNS Beacon(四)

DNS隧道简介 利用DNS隧道进行攻击的现象已存在多年&#xff0c;将数据封装在DNS协议中传输&#xff0c;大部分防火墙和入侵检测设备很少会过滤DNS流量&#xff0c;僵尸网络和入侵攻击可几乎无限制地加以利用&#xff0c;实现诸如远控、文件传输等操作 DNS隐蔽隧道建立通讯并盗…

matplotlib教程二

文章目录一. 条形图1.1 简介1.2 垂直条形图1.3 水平条形图二. 直方图2.1 简介2.2 API2.3 直方图绘制三. 饼图3.1 简介3.2 API3.3 饼图绘制四. 散点图4.1 简介4.2 API4.3 散点图绘制五. 箱形图5.1 简介5.2 API5.3 绘制箱状图六. 轮廓图6.1 简介6.2 轮廓图绘制七. 图像内的文字、…

Android Studio实现一个点餐系统

点餐系统作业要求效果登录注册欢迎页用户管理菜品种类管理菜品管理订单查询点餐源码导读手把手编写注册、用户管理板块新建实体类User新建User服务新建注册活动用户管理作业要求 功能&#xff1a; 1&#xff0e;数据管理 菜品类别&#xff1a;凉菜&#xff1b;热菜&#xff1b;…