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 利用率异常的高,应该如何排查?希望通过这篇文章,给你一些启发... 一、业务背景 业务需要控制频道内兑换现金的数量,于是在…

如何在项目中快速引入Logback日志并搭配ELK使用

在Java项目中引入日志系统是一件非常重要的事情,它可以帮助我们记录程序的运行状态、调试信息和错误信息。Logback是一个非常流行的日志框架,具有高性能和灵活的配置能力。本文将介绍如何在项目中快速引入Logback日志,并说明为什么要使用Logb…

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

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

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

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

.git目录解读

在执行 git init 命令时,Git 会在当前目录中创建一个名为 .git 的目录。该目录包含 Git 所需的所有元数据和对象,用于版本控制。以下是 .git 目录结构的示意图,并附有每个目录和文件的作用说明: .git #…

使用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. 去点击解压后的文件夹,找…

MySQL插入并更新

1. 基本批量插入 INSERT INTO table_name (column1, column2) VALUES (value1_1, value1_2), (value2_1, value2_2), (value3_1, value3_2); 2. 批量插入并更新(Upsert) 这个语法表示如果 column1 是唯一键或主键,当插入操作遇到重复值时…

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

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

计算机视觉与深度学习实战,Python为工具,基于主成分分析的图像压缩和重建

一、引言 在信息技术和互联网飞速发展的今天,图像数据呈现出爆炸式的增长。然而,图像数据的传输和存储需要消耗大量的资源。因此,图像压缩技术成为了解决这一问题的关键。近年来,深度学习在计算机视觉领域取得了显著的成果,为图像压缩提供了新的思路和方法。主成分分析(P…

第六十五天打卡 | 卡码网 99 岛屿数量(深搜版)、卡码网 99 岛屿数量(广搜版)、卡码网 100 岛屿的最大面积

卡码网 99 岛屿数量(深搜版) 基本就是回溯算法 翻版了 #include <iostream> #include <vector>using namespace std;int dir[4][2] {-1, 0, 1, 0, 0, 1, 0, -1};void dfs(vector<vector<int>>& grid, vector<vector<int>>& visi…

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

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

ROS2学习资源

2024.6.21 快放暑假了&#xff01;简单计划一下暑假的学习内容。 首先是ROS2&#xff0c;学习资源&#xff1a; 官方文档&#xff1a;ROS 2 Documentation — ROS 2 Documentation: Humble documentation B站赵虚左老师的教程&#xff1a; ROS2理论与实践_哔哩哔哩_bilibil…