Redis-数据类型-String

文章目录

  • 1、通过客户端连接redis
  • 2、查看当前数据库的key的数量
  • 3、切换数据库
    • 3.1、切换到1数据库
    • 3.2、切换到2数据库
    • 3.3、切换到默认的数据库,0数据库
  • 4、当前数据库没有数据
  • 5、添加键值对
  • 6、查看当前库所有key
  • 7、清空当前库
  • 8、设置存活的秒数(例如验证码)
  • 9、nx(Not Exists)参数表示当前命令中指定的key不存在才行
  • 10、xx(Exists)参数表示当前命令中指定的key存在才行
  • 11、把指定的value追加到key对应的原来的值后面,返回值是追加后字符串长度
  • 12、直接返回字符串长度
  • 13、自增1
  • 14、自减1
  • 15、增加多值
  • 16、减少多值
  • 17、从字符串中截取指定的一段,索引从0开始
  • 18、从offset(从0开始的索引)开始使用value进行替换
  • 19、设置key、value时指定存在秒数
  • 20、新建字符串类型的键值对
  • 21、一次性设置一组多个键值对
  • 22、一次性指定多个key,返回它们对应的值
  • 23、一次性新建多个值,但是指定的key存在才行,有一个不存在,都不成功
  • 24、设置新值,同时能够将旧值返回

1、通过客户端连接redis

[root@localhost ~]# /usr/local/redis/bin/redis-cli -p 6379
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> 

2、查看当前数据库的key的数量

127.0.0.1:6379> dbsize
(integer) 0
127.0.0.1:6379> 

3、切换数据库

默认有16个数据库,0到15
在这里插入图片描述

3.1、切换到1数据库

127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> 

3.2、切换到2数据库

127.0.0.1:6379[1]> select 2
OK
127.0.0.1:6379[2]> 

3.3、切换到默认的数据库,0数据库

127.0.0.1:6379[2]> select 0
OK
127.0.0.1:6379> 

4、当前数据库没有数据

127.0.0.1:6379> dbsize
(integer) 0
127.0.0.1:6379> 

5、添加键值对

127.0.0.1:6379> set uname jim
OK
127.0.0.1:6379> dbsize
(integer) 1
127.0.0.1:6379> 

6、查看当前库所有key

127.0.0.1:6379> keys *
1) "uname"
127.0.0.1:6379> 

7、清空当前库

127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> dbsize
(integer) 0
127.0.0.1:6379> 

8、设置存活的秒数(例如验证码)

10秒后过期

127.0.0.1:6379> set uname jim ex 10
OK
127.0.0.1:6379> get uname
"jim"
127.0.0.1:6379> get uname
"jim"
127.0.0.1:6379> get uname
(nil)
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> dbsize
(integer) 0
127.0.0.1:6379> 

9、nx(Not Exists)参数表示当前命令中指定的key不存在才行

127.0.0.1:6379> set uname jim
OK
127.0.0.1:6379> get uname
"jim"
127.0.0.1:6379> set uname lucy nx
(nil)
127.0.0.1:6379> 

10、xx(Exists)参数表示当前命令中指定的key存在才行

127.0.0.1:6379> keys *
1) "uname"
127.0.0.1:6379> get uname
"jim"
127.0.0.1:6379> set uname lucy xx
OK
127.0.0.1:6379> get uname
"lucy"
127.0.0.1:6379> 

11、把指定的value追加到key对应的原来的值后面,返回值是追加后字符串长度

127.0.0.1:6379> keys *
1) "uname"
127.0.0.1:6379> get uname
"jim"
127.0.0.1:6379> set uname lucy xx
OK
127.0.0.1:6379> get uname
"lucy"
127.0.0.1:6379> append uname hello
(integer) 9
127.0.0.1:6379> get uname
"lucyhello"
127.0.0.1:6379> 

12、直接返回字符串长度

127.0.0.1:6379> strlen uname
(integer) 9
127.0.0.1:6379> 

13、自增1

127.0.0.1:6379> set age 18
OK
127.0.0.1:6379> get age
"18"
127.0.0.1:6379> incr age
(integer) 19
127.0.0.1:6379> incr age
(integer) 20
127.0.0.1:6379> incr age
(integer) 21
127.0.0.1:6379> incr age
(integer) 22
127.0.0.1:6379> 

14、自减1

127.0.0.1:6379> get age
"22"
127.0.0.1:6379> decr age
(integer) 21
127.0.0.1:6379> decr age
(integer) 20
127.0.0.1:6379> decr age
(integer) 19
127.0.0.1:6379> decr age
(integer) 18
127.0.0.1:6379> 

15、增加多值

127.0.0.1:6379> get age
"18"
127.0.0.1:6379> incrby age 5
(integer) 23
127.0.0.1:6379> 

16、减少多值

127.0.0.1:6379> get age
"23"
127.0.0.1:6379> decrby age 10
(integer) 13
127.0.0.1:6379> 

17、从字符串中截取指定的一段,索引从0开始

127.0.0.1:6379> keys *
1) "age"
2) "uname"
127.0.0.1:6379> get uname
"lucyhello"
127.0.0.1:6379> getrange uname 1 5
"ucyhe"
127.0.0.1:6379> get uname
"lucyhello"

18、从offset(从0开始的索引)开始使用value进行替换

127.0.0.1:6379> get uname
"lucyhello"
127.0.0.1:6379> setrange uname 0 hello
(integer) 9
127.0.0.1:6379> get uname
"helloello"
127.0.0.1:6379> 

19、设置key、value时指定存在秒数

127.0.0.1:6379> keys *
1) "age"
2) "uname"
127.0.0.1:6379> setex address 10 USA
OK
127.0.0.1:6379> keys *
1) "age"
2) "address"
3) "uname"
127.0.0.1:6379> get address
"USA"
127.0.0.1:6379> get address
"USA"
127.0.0.1:6379> get address
"USA"
127.0.0.1:6379> get address
"USA"
127.0.0.1:6379> get address
(nil)
127.0.0.1:6379> keys *
1) "age"
2) "uname"
127.0.0.1:6379> 

20、新建字符串类型的键值对

127.0.0.1:6379> keys *
1) "age"
2) "uname"
127.0.0.1:6379> setnx address usa
(integer) 1
127.0.0.1:6379> keys *
1) "age"
2) "address"
3) "uname"
127.0.0.1:6379> get address
"usa"
127.0.0.1:6379> 

21、一次性设置一组多个键值对

127.0.0.1:6379> keys *
1) "age"
2) "address"
3) "uname"
127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3 k4 v4
OK
127.0.0.1:6379> keys *
1) "k1"
2) "k3"
3) "age"
4) "address"
5) "k2"
6) "k4"
7) "uname"
127.0.0.1:6379> 

22、一次性指定多个key,返回它们对应的值

127.0.0.1:6379> keys *
1) "k1"
2) "k3"
3) "age"
4) "address"
5) "k2"
6) "k4"
7) "uname"
127.0.0.1:6379> mget k1 k2 k3 k4
1) "v1"
2) "v2"
3) "v3"
4) "v4"
127.0.0.1:6379> 

23、一次性新建多个值,但是指定的key存在才行,有一个不存在,都不成功

127.0.0.1:6379> keys *
1) "k1"
2) "k3"
3) "age"
4) "address"
5) "k2"
6) "k4"
7) "uname"
127.0.0.1:6379> msetnx k1 v9 k6 v8 k3 v99
(integer) 0
127.0.0.1:6379> keys *
1) "k1"
2) "k3"
3) "age"
4) "address"
5) "k2"
6) "k4"
7) "uname"
127.0.0.1:6379> 

24、设置新值,同时能够将旧值返回

127.0.0.1:6379> keys *
1) "k1"
2) "k3"
3) "age"
4) "address"
5) "k2"
6) "k4"
7) "uname"
127.0.0.1:6379> getset k1 v999
"v1"
127.0.0.1:6379> get k1
"v999"
127.0.0.1:6379> 

在这里插入图片描述

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

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

相关文章

全域外卖系统源码在哪些渠道值得推荐?

当前,全域外卖的热度持续飙升,并且隐隐有了大爆的趋势。许多创业者也因此有了进军全域外卖赛道的想法,以全域外卖系统源码在哪找为代表多个相关问题因此成为了多个创业者交流群的常客。 根据中国互联网络信息中心(CNNIC&#xff0…

小红书xs-xt解密

在进行小红书爬虫的时候,有一个关键就是解决动态密文的由来 这边用atob对X-S密文进行解密 可以看到他是一个字符串 可以发现他本来是一个json对象,因为加密需要字符串,所以将json对象转化 为了字符串 而在js中,常用JSON.stringify进行json对象到字符串的转化。 这边将JS…

FlowUs AI的使用教程和使用体验

FlowUs AI 使用教程 FlowUs AI特点使其成为提升个人和团队生产力的有力工具,无论是在学术研究、内容创作、技术开发还是日常办公中都能发挥重要作用。现在来看看如何使用FlowUs AI吧! 注册与登录:首先,确保您已经注册并登录FlowU…

小型超声波清洗机真的有用吗?深入测评四款优质精品,亮点多多

超声波洗眼镜机能够彻底清洁眼镜,去除顽固污渍和灰尘,其次是操作简便,对比传统的清洗方式用时短、效率高,避免了手动的麻烦,于是有很多眼镜使用者都选择了超声波清洗机。但由于目前超声波清洗机型号众多,如…

一次压测引发的数据库 CPU 飙升

作者:昀鹤 一次压测过程中,当数据库的 qps 和 tps 都正常时,如果 cpu 利用率异常的高,应该如何排查?希望通过这篇文章,给你一些启发... 一、业务背景 业务需要控制频道内兑换现金的数量,于是在…

Aigtek电压放大器的主要作用是什么

电压放大器是一种重要的电子设备,用于放大电压信号。它在许多电子系统和应用中发挥着关键的作用。本文将详细介绍电压放大器的主要作用和工作原理。 电压放大器是一种电子电路,它可以将输入信号的电压放大为更大的输出电压。放大器通过增加输入信号的幅度…

【CS.DS】数据结构 —— 图: 图的相关概念大全

文章目录 1 图的类型2 图的基本术语References 1 图的类型 图是一种数据结构,由节点(顶点)和边组成。图可以用来表示各种网络结构,如社交网络、交通网络、计算机网络等。根据边的性质,图可以分为以下几种类型&#xf…

使用Apache Flink实现实时数据同步与清洗:MySQL和Oracle到目标MySQL的ETL流程

使用Apache Flink实现实时数据同步与清洗:MySQL和Oracle到目标MySQL的ETL流程 实现数据同步的ETL(抽取、转换、加载)过程通常涉及从源系统(如数据库、消息队列或文件)中抽取数据,进行必要的转换&#xff0c…

Windows C++ 应用软件开发从入门到精通详解

目录 1、引言 2、IDE 开发环境介绍 2.1、Visual Studio 2.2、QT Creator 3、Windows 平台实用小工具介绍 3.1、代码编辑器 VSCode 3.2、代码查看编辑器 Source Insight 3.3、文本编辑器 Notepad 3.4、文件搜索工具 Everything 4、 C语言特性 4.1、熟悉泛型编程 4.…

恭喜行云绽放,24年再度荣获国家鼓励的企业软件证书

在刚刚过去的五月份,行云绽放再次传来一个好消息,那就是2024年行云绽放再度荣获国家鼓励的企业软件证书。 什么是国家鼓励的企业软件证书? 国家鼓励的企业软件证书被称为“国家鼓励的软件企业证书”,这一证书由中国软件行业协会…

LangChain轻松入门和开发实践

LangChain是一个开发语言模型应用的框架。 LangChain能够简化开发与语言模型工作流中的复杂部分,帮助开发人员能够更轻松地进行开发,并定制满足需求的应用。 LangChain有两大优点,一是它能将外部数据,如文件、其他应用、API数据等…

kylinos 国产操作系统离线安装firefox 麒麟操作系统安装新版本firefox

1. 火狐地址: 下载 Firefox 浏览器,这里有简体中文及其他 90 多种语言版本供您选择 2. 选择: 3. 下载完之后,上传到离线机器 4. 解压缩: tar -xvjf firefox-127.0.1.tar.bz2 5. 去点击解压后的文件夹,找…

SpringCloud Alibaba Sentinel 流量控制之流控效果实践总结

当 QPS 超过某个阈值的时候,则采取措施进行流量控制。流量控制的效果包括以下几种:直接拒绝、Warm Up、匀速排队/排队等待。对应 FlowRule 中的 controlBehavior 字段。 注意:若使用除了直接拒绝之外的流量控制效果,则调用关系限流…

如何有效管理信息技术课堂

有效管理信息技术课堂是确保学生学习效果、维护课堂秩序和提升学生兴趣的关键。以下是一些详细的方法和策略,旨在帮助教师更好地管理信息技术课堂: 一、制定明确的课堂规则 强调课堂纪律:确保学生明确了解并遵守课堂纪律,如准时…

long long ago

一、long 众所周知,英文单词 long,表示长,长的。 但是,还有很多你不知道到的东西,根据英文单词首字母象形原则,我们可以做一下单词long结构分析: long l长 ong长 什么意思?就是说首字线 l…

H3C路由器密码恢复方法

H3C的路由器需要先关闭电源,重新启动路由器,注意终端上显示 press CTRLB to enter extended boot menu 的时候,请迅速按下ctrlB,这样将进入扩展启动选项。接着,你就可以进入路由器视图: 1.低端H3C设备 重启…

STM32 I2C总线锁死原因及解决方法

本文介绍STM32 I2C总线锁死原因及解决方法。 在使用STM32 I2C总线操作外设时,有时会遇到I2C总线锁死(I2C总线为Busy状态)的问题,即便复位MCU也无法解决,本文介绍其锁死的原因和解决方法,并给出相应的参考代…

pdf转图片转换器,pdf转图片的工具

在日常的工作和学习中,我们经常会遇到需要将PDF文件转换为图片格式的情况。那么,如何才能将PDF格式转换为图片格式呢?今天,我将为大家介绍几种简单易用的方法,帮助大家轻松实现PDF转图片。 打开“轻云pdf处理官网网站”…

deepin 加入甲辰计划,共建 RISC-V 繁荣生态

内容来源:deepin(深度)社区 今日,deepin(深度)社区宣布正式加入甲辰计划,致力于在下一个丙辰年(2036龙年)之前,基于RISC-V实现从数据中心到桌面办公、从移动穿戴到智能物联网全信息产…

【廉颇老矣,尚能饭否】传统的数据仓库是否还能发挥作用?

引言:随着数字化转型的深入和大数据技术的发展,大数据平台、数据中台和和数据湖技术不断涌现,给人感觉传统的数据仓库技术已经过时,廉颇老矣,不能应对新的挑战,在数字化转型中,不能发挥重要作用…