86、Redis 的 value 所支持的数据类型(String、List、Set、Zset、Hash)---->String相关命令

news2024/12/25 0:05:08

本次讲解要点:
String相关命令:String是指value中的数据类型

启动redis服务器:
打开小黑窗:
C:\Users\JH>e:
E:>cd E:\install\Redis6.0\Redis-x64-6.0.14\bin
E:\install\Redis6.0\Redis-x64-6.0.14\bin>redis-server.exe redis.windows.conf

启动redis客户端:
小黑窗:redis-cli

★ Redis的数据类型(都是针对Redis的value而言)

redis和map差不多。
Map 只能保存在内存中,
redis可以保存在磁盘。

Redis的key都是String

▲ value支持如下5种数据类型:

String: 最基本的数据类型,可保存任何的数据。
List: 元素是String的有序集合,集合内的元素可以重复。
Set: 元素是String的无序集合,集合内的数据不能重复。
Zset: 元素是String的有序集合,集合内的数据不能重复。
Hash: 也是key-value集合(类似Java的Map),key和value都是String类型的数据。这种类型主要用于保存对象。

Redis为不同数据类型提供了不同的操作命令,因此特定类型的数据需要使用对应类型的命令来执行操作。

★ string相关的命令:

当 value 是 String类型 时,需要使用 String 相关的命令进行操作。

SET key value: 设置key-value对。

GET key: 返回指定key对应的value

GETRANGE key start end: 获取指定key对应value中从start到end的子串。
此处的range会前后边界都包括了。

GETSET key value: 为指定key设置新的value,并返回原来的value。

MGET key [key …]: 返回一个(或多个)指定key对应的value。

SETEX key seconds value: 设置key-value对,并设置过期时间为seconds秒。

SETNX key value: SET的安全版,只有当key不存在时才能设置该key-value对。

SETRANGE key offset value: 设置和覆盖指定key对应value值,从原有value的offset个字符开始;
如果key不存在,则将前offset个字符设为空(‘\U0000’)。

STRLEN key: 获取key对应value的字符串长度。

MSET key value [key value …]: 设置多组key-value对。

MSETNX key value [key value …]: MSET的安全版本,仅当所有key都不存在时才能设置成功

PSETEX key milliseconds value: SETEX的毫秒版本,过时时间以毫秒计算。

INCR key: 将指定key中存储的整数值加1。
虽然Redis的value是string类型,但有些string可以转换为整数,有些string不能转换为整数。
该方法只能操作那些可以转换为整数的value。

  该方法的在redis中,自己会进行的实际操作步骤为:
  (1)现将string转换整数。
  (2)整数加1
  (3)再将整数恢复成string,保存到value中。  

INCRBY key increment: 将指定key中存储的整数值增加increment整数值。

  INCR相当于INCRBY 的特殊情况,相当于将增加的值设为1.

INCRBYFLOAT key increment: INCRBY的浮点数版本,increment可以是小数。

DECR key: 将指定key中存储的整数值减1。

DECRBY key decrement: 将指定key中存储的整数值减少decrement整数值。
-----------这种INCR\DECR 都只能操作value可转换为数值的类型-----------------

APPEND key value: 在指定key对应的字符串后追加(append)新的value内容。

演示:String相关命令

当 value 是 String类型 时,需要使用 String 相关的命令进行操作。

SET key value: 设置key-value对。
在这里插入图片描述

GET key: 返回指定key对应的value
在这里插入图片描述

GETRANGE key start end: 获取指定key对应value中从start到end的子串。
此处的range会前后边界都包括了。
range:范围
在这里插入图片描述

GETSET key value: 为指定key设置新的value,并返回原来的value。
在这里插入图片描述

MGET key [key …]: 返回一个(或多个)指定key对应的value。
在这里插入图片描述

SETEX key seconds value: 设置key-value对,并设置过期时间为seconds秒。
在这里插入图片描述

SETNX key value: SET的安全版,只有当key不存在时才能设置该key-value对。
在这里插入图片描述

SETRANGE key offset value: 设置和覆盖指定key对应value值,从原有value的offset个字符开始;
如果key不存在,则将前offset个字符设为空(‘\U0000’)。
在这里插入图片描述
STRLEN key: 获取key对应value的字符串长度。
在这里插入图片描述

MSET key value [key value …]: 设置多组key-value对。
在这里插入图片描述

MSETNX key value [key value …]: MSET的安全版本,仅当所有key都不存在时才能设置成功
在这里插入图片描述

PSETEX key milliseconds value: SETEX的毫秒版本,过时时间以毫秒计算。
在这里插入图片描述

INCR key: 将指定key中存储的整数值加1。
虽然Redis的value是string类型,但有些string可以转换为整数,有些string不能转换为整数。
该方法只能操作那些可以转换为整数的value。

  该方法的操作步骤为:
  (1)现将string转换整数。
  (2)整数加1
  (3)再将整数恢复成string,保存到value中。  

在这里插入图片描述

INCRBY key increment: 将指定key中存储的整数值增加increment整数值。

  INCR相当于INCRBy的特殊情况,相当于将增加的值设为1.

在这里插入图片描述

INCRBYFLOAT key increment: INCRBY的浮点数版本,increment可以是小数。
在这里插入图片描述

DECR key: 将指定key中存储的整数值减1。
在这里插入图片描述

DECRBY key decrement: 将指定key中存储的整数值减少decrement整数值。
------------这种INCR\DECR 都只能操作value可转换为数值的类型-----------------
在这里插入图片描述

APPEND key value: 在指定key对应的字符串后追加(append)新的value内容。
在这里插入图片描述

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

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

相关文章

【知识点随笔分析】我看看谁还不会用CURL命令

目录 前言: CURL介绍: CURL的基本使用: CURL与PING命令的区别: CURL命令的应用: 总结: 前言: 当今互联网时代,与服务器进行数据交互成为了无法回避的需求。无论是获取Web…

电脑入门:电脑不认新硬盘时该怎么办?

电脑不认新硬盘时该怎么办? 当新硬盘加进后,正常工作时,没有什么问题。若电脑遇到特殊情况时,电脑对新硬盘“不认”,可采取以下措施让电脑重新“认”新硬盘,显示新分区(如G、H、I、J)。 咱的目的是保持S-ATA的开启,把控制板载S-ATA设定值由No变成Yes就可以。 首…

mysql 8.0.34 安装

1、进入mysql官网 :https://www.mysql.com/ 拉到最下面,选择社区服务 2、下载mysql服务 msi方式的参考:https://blog.csdn.net/m0_59086544/article/details/129034408。 这里介绍下zip格式的怎么使用! 3、 安装服务 下载好 z…

使用Webpack设置TS引用模块,解决Module not found: Error: Can‘t resolve ‘./m1‘ in ...问题

当我们把ts文件作为模块被引用的时候,我们使用Webpack打包代码会报错: Module not found: Error: Cant resolve ./m1 in ... 解决方法: 在webpack.config.js文件中配置如下代码: module.exports {// 设置引用模块resolve: {ext…

React 全栈体系(十七)

第九章 React Router 6 一、概述 React Router 以三个不同的包发布到 npm 上,它们分别为: react-router: 路由的核心库,提供了很多的:组件、钩子。react-router-dom: 包含 react-router 所有内容,并添加一些专门用于 …

解决oss视频上传后截取的第一帧图片被旋转问题

因此,直接配置参数ar_auto就okpic.url ?x-oss-processvideo/snapshot,t_1000,m_fast,ar_auto

Unity Game FrameWork—模块使用—资源热更新

工程选项配置​ json文件解析不要用默认的unity解析方式,unity解析有问题,使用StarForce.LitJsonHelper​ ​ 资源模式改为热更新模式​ ​ 配置文件配置​ BuiltinDataComponent自定义组件引用率了Buildinfo.txt配置文件,该文件配置了热更…

根据excel批量修改文件夹及其文件名称

简介 表哥公司电脑上有一大批文件夹,用于存放一些pdf。他希望对这些文件进行整理。文件夹批量重命名为好记一些的名字,文件夹下的pdf改成的名字格式为:文件夹名序号。 例如:文件夹从“1234”,改成“案件001”&#xf…

Sql注入(手工注入思路、绕过、防御)

一、Sql注入思路 1、判断注入点 在GET参数、POST参数、以及HTTP头部等,包括Cookie、Referer、XFF(X-Forwarded-for)、UA等地方尝试插入代码、符号或语句,尝试是否存在数据库参数读取行为,以及能否对其参数产生影响,如产生影响则…

Snapdragon Profiler分析Android GPU

Snapdragon Profiler(骁龙分析器)是一款性能分析软件,在Windows、 Mac、和 Linux平台上都可以运行,主要是用来分析使用了高通骁龙处理器的Android设备。 Snapdragon Profiler通过USB连接这些Android设备,开发者可以用…

基本页面配置与登录页面编写

删除原有的所有初始内容,在views下新建WelcomeView组件 安装vue router 在router下新建index.js文件,编写路由: import {createRouter,createWebHistory} from "vue-router";const routercreateRouter({history:createWebHistor…

金融生产存储亚健康治理:升级亚健康 3.0 ,应对万盘规模的挑战

随着集群规模的不断扩大,硬盘数量指数级上升,信创 CPU 和操作系统、硬盘多年老化、物理搬迁等多种复杂因素叠加,为企业的存储亚健康管理增加了新的挑战。 在亚健康 2.0 的基础上,星辰天合在 XSKY SDS V6.2 实现了亚健康 3.0&#…

LeetCode【474. 一和零】

给你一个二进制字符串数组 strs 和两个整数 m 和 n 。 请你找出并返回 strs 的最大子集的长度,该子集中 最多 有 m 个 0 和 n 个 1 。 如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 子集 。 示例 1: 输入:strs ["…

区块链实验室(27) - 区块链+物联网应用案例

分享最新的区块链物联网应用案例:HPCLS-BC

AI智能语音机器人的优势

1.高效自动拨号功能。 导入客户数据,外呼机器人自动拨号,无需看守,真人录音话术,定制场景问答和1秒内的问答响应,为客户带来真实准确的咨询体验。同时,每次通话结束后,外呼系统根据通话时间和关…

前端uniapp图片select联动文本切换

图片 代码 <template><!-- 这个是uniapp的下拉框 --><uni-data-select v-model"pay_type" :localdata"range" change"handleSelectChange"></uni-data-select><!-- 图片 --><image :src"dynamicImage&qu…

Linux Ubuntu配置Git的方法

本文介绍在Linux操作系统的Ubuntu版本中&#xff0c;配置分布式开源版本控制系统Git&#xff0c;随后基于Git克隆GitHub中项目的代码的详细方法。 在之前的文章分布式版本控制系统Git的下载、安装与使用其复制GitHub项目代码的方法&#xff08;https://blog.csdn.net/zhebushib…

ARM/X86工控机在轨道交通交通管理系统的应用(4)

交通管理系统 信迈XM-3000系列专为道路监控应用而设计。随着城市化的发展&#xff0c;道路车辆数目与日俱增&#xff0c;而道路监控对于时刻保障城市的安全是非常必要的。由于性能强大并支持宽温度工作&#xff0c;XM-3000系列成为交通管理系统应用的理想选择。 系统架构 交通…

网络安全之网站常见的攻击方式

这是作者自学的哈&#xff0c;不算课程内容。 网页中出现大量黑链 网站看着很正常&#xff0c;但是会隐藏一些链接。网页的链接几乎都是标签&#xff0c;这种黑链就是通过链接标签<a></a>或者script在里面链入恶意脚本&#xff0c;等待浏览者的访问&#xff0c;通…

定制开发游戏有哪些优势?

定制开发游戏具有许多优势&#xff0c;这些优势可以使游戏更具独特性和市场竞争力。以下是一些定制开发游戏的优势&#xff1a; 独特性和创新&#xff1a; 定制开发游戏允许开发者创建独特的游戏概念、玩法和故事情节。这使得游戏在市场上更加突出&#xff0c;吸引更多玩家。 满…