软件测试基础篇——Redis
Redis
Redis数据库的配置与连接
- 解压redis数据库的安装包(建议把解压后的安装包放到磁盘的根目录,方便访问操作)
- 打开【命令行窗口】:win+R
- 在命令行窗口,进入到redis安装目录中
格式一:cd /d redis目录完整路径 跨磁盘切换目录
例:cd /d d:\redis
格式二:
①切换磁盘:磁盘符:
例:切换D盘 D:或者d:
②切换目录:cd 目录名字
例:cd redis
- 启动redis数据库的服务
命令:redis-server.exe redis.windows.conf
mysql端口号:3306,redis端口号:6379
- 连接redis数据库
重新打开一个命令行窗口做连接:进入redis安装目录
命令:redis-cli.exe
- 测试:输入ping命令,得到PONG结果,证明redis数据库的配置与连接是OK的、
redis数据库配置与安装
- 启动redis数据库的服务:redis-server.exe redis.windows.conf
- 连接redis数据库:redis-cli.exe
1、Redis数据库概述
- NOSQL:不仅仅是SQL,泛指非关系型数据库,是对关系型数据库的一个有力补充,数据的组织方式,大部分都是以【键值对key-value】的形式来存储和管理的,
例:redis:键值对:键名 值——>name “tom” age 18
MongoDB:键值对:键名:值 name:”tom” age:18
关系型数据库:RDBMS
-
redis:远程字典服务,是==开源免费(开放源代码,配置文件中的参数可以根据实际情况做出修改),基于内存(数据直接存储在内存),跨平台(可以在多个操作系统使用)==的非关系型Key-Value数据库
-
redis特征:①数据直接加载到内存中存储和管理数据;②支持到的数据类型,以及每一种类型提供的操作命令是较多的;③数据的处理(读写)速度是较快的;④持久化功能:利用生成的持久化文件,可以避免因异常操作引发数据丢失问题,实现数据的还原恢复操作;⑤redis数据库可以设置键值对数据的有效活动时间,一旦过了该时间,就会被系统直接删除;⑥支持事务操作:事务:指的是在当前数据库中一次性并行处理的操作,要么全部执行,要么全部取消——>原子性
2、Redis和MySQL对比
- 类型:redis:非关系型数据库 mysql:关系型数据库
- 数据存储和管理方式(组织方式):redis:键值对 mysql:表
- 数据的存放位置:redis:基于内存 mysql:放在磁盘
- MySQL偏向于【存数据】,redis偏向于【读取数据】
3、Redis支持的数据类型以及操作命令
- redis自带16个数据库,库编号:0-15,默认是在0号库(第一个库)
切换数据库:select 库编号
备注:redis命令学习建议:==redis命令作用;redis命令的语法格式;==redis命令和参数结合作用
- redis数据库的增删改查操作
①set 键名 值 创建/插入键值对数据
②set 键名 新值 修改键中的值
③get 键名 获取键中的值
④del 键名 删除键中的值
-
redis数据库关于键Keys的操作命令
-
exists 键名 判断该键是否存在
-
type 键名 查看该键的数据类型 string:字符串
备注:除了列表,set集合,hash集合,有序集合,其它的数据默认归纳为字符串类型
-
keys 字符模板 查找和该模板匹配的键名 ***** 任意,所有
-
keys * 查找所有的键名
-
randomkey 随机返回一个存在的键
-
rename 旧键名 新键名 对键进行重命名操作
-
dbsize 统计键的总个数
-
expire 键名 时间s 设置键的有效活动时间
-
ttl 键名 获取键的有效活动时间
-
move 键名 库编号 将当前库中的键移动到指定的库
-
flushdb 删除当前库中的所有键
-
flushall 删除所有库中的所有键
-
set 键名 值 ex 时间s 在创建键值对数据的同时,设置有效活动时间
-
exit/quit:退出客户端(断开数据库连接)
-
info 显示redis数据库的属性信息
-
-
Redis数据类型-字符串类型:string
-
string是redis基本的、默认的数据类型
-
提供的操作命令:
- set/get:创建一组键值对数据/获取一个键的值
- mset 键名1 值1 键名2 值2 键名3 值3…. 向库中插入多组键值对数据
- mget 键名1 键名2 键名3… 获取多个键的值
- getset 键名 新值 先获取键中原始的值,再把新值赋值给该键
- setnx 键名 值 添加键值对数据,如果该键存在,则什么都不做
- msetnx 键名1 值1 键名2 值2… 添加多组键值对数据(有一个存在也会影响其它的插入),
- setex 键名 时间s 新值 修改键中的值,并设置有效的活动时间
- incr 键名 让键中的值自动加1
- incrby 键名 自定义数字 指定数字的加法操作
- decr 键名 让键中的值自动减1
- decrby 键名 自定义数字 指定数字的减法操作
- append 键名 新值 将新值拼接在键中原始值的后方(拼凑在一起)
- substr 键名 开始位置的下标 结束位置下标 对键中字符串数据进行截取操作
- setrange 键名 位置下标 新值 得到一个新的字符串(从指定位置开始,拿上新值,替换原始字符串数据,替换范围取决于新字符串长度)
- getrange 键名 开始位置下标 结束位置下标 对键中的字符串进行截取操作 <——>参考substr
- strlen 键名 统计该键中字符串长度
-
- redis特征
- redis操作命令:作用,格式
-
Redis数据类型-List(列表,链表)
-
概述:列表类型的键,可以存储多个值——>用来插入多个字符串类型的数据值,列表键中是可以有重复的值
-
List列表提供的操作命令:
-
lpush 键名 值1 值2 值3… 创建或从列表的头部插入数据(先写的数据在下边)
-
rpush 键名 值1 值2 值3… 创建或从列表的尾部插入数据(先写的数据在上边)
-
lrange 键名 开始位置下标 结束位置下标 查看列表键中范围之内的数据值
-
llen 键名 统计列表键中值的总个数
-
lindex 键名 位置下标 根据下标获取对应位置上的值
-
lset 键名 位置下标 新值 根据下标修改指定位置上的值
-
lrem 键名 数量 值 从列表键中删除指定数量的相同值
-
lpop 键名 返回并删除键中头部元素值
-
rpop 键名 返回并删除键中尾部元素值
-
linsert 键名 before 指定元素值 新值 在指定元素值的前面插入新的值
-
linsert 键名 after 指定元素值 新值 在指定元素值的后面插入新的值
-
ltrim 键名 开始位置的下标 结束位置的下标
备注:键中只保留截取后的数据
-
-
-
Redis数据类型-Set集合:存放多个字符串类型的数据值,唯一,无序
set集合类型提供的操作命令:
①sadd 键名 值1 值2 值3… #创建/向set集合键中插入数据
②smembers 键名 #返回键中所有的值
③srem 键名 值 #从该键中删除指定的数据值
④spop 键名 #返回并删除键中的一个值
⑤smove 键名1 键名2 值 #将键名1的值移动到键名2
⑥scard 键名 #统计键中值的总个数
⑦sismember 键名 值 #检测该值是否存在于集合中
⑧sinter 键名1 键名2 键名3… 求#交集,把这些集合键中共有的数据显示出来
⑨sinterstore 新的键名 键名1 键名2 键名3… #求交集保存在新的集合键中
⑩sunion 键名1 键名2 键名3… #求并集,这些集合中的数据融合在一起显示:相同的保留一个,不同的直接融合
⑪sunionstore 新的键名 键名1 键名2 键名3… #求并集,保存在新的键中
⑫sdiff 键名1 键名2… #求差集,键名1中值减去键名2中共有的,把剩下独有的数据显示
⑬sdiffstore 新的键名 键名1 键名2… #求差集,并保存在新的键中
⑭srandmember 键名 #随机返回键中的一个值
- Redis数据类型-Hsah集合:存放【键值对】数据集合,每一个hash键中,存储的值都是【键值对】,hash:哈希
- hash类型提供的操作命令:
- hset 键名 字段名(key) 字段值(value) #生成hash类型集合的键,并存入值
- hmset 键名 字段名1 字段值1 字段名2 字段值2 字段名3 字段值3… #生成hash类型的键,并存入多组值
- hget 键名 字段名 #获取键中某个字段的值
- hmget 键名 字段名1 字段名2 字段名3… #获取多个字段值
- hgetall 键名 #获取键中所有的字段以及字段值
- hincrby 键名 字段名 增加值 #将键中指定字段中存储的值进行加法操作
- hexists 键名 字段名 #检测该字段是否存在于键中
- hdel 键名 字段名 #删除该键中的字段
- hlen 键名 #统计该键中字段的总个数
- hkeys 键名 #获取键中所有的字段名
- hvals 键名 #获取键中所有的字段值
- redis数据类型-有序集合:zset,用来存储多个字符串类型的数据的集合,通过每一个值关联一个分数,然后利用分数达到排序的效果(升序:从小到大)唯一
- 有序集合提供的操作命令:
- zadd 键名 分数1 值1 分数2 值2 分数3 值3… #生成有序集合类型的键并存入值
- zrange 键名 开始位置下标 结束位置下标 #查看键中的所有值
- zrevrange 键名 开始位置下标 结束位置下标 #降序查看键中的数据
- zcard 键名 #统计该键中值的总个数
- zcount 键名 最低分 最高分 #根据分数区间统计值的数量
- zincrby 键名 增加的分数值 值 #给该值进行分数的增加
- zrank 键名 值 #返回该值对应的下标(下标算法:把最小的值看成是第一个元素)
- zrevrank 键名 值 #返回该值对应的下标(下标算法:把最大的值看成是第一个元素)
- zscore 键名 值 查看该值对应的分数
- zrem 键名 值1 值2… #删除键中的数据
- zscan 键名 游标值(0) 查看键中所有的值以及关联的分数
- zremrangebyscore 键名 最低分 最高分 #删除分数区间内的数据
4、事务的操作
- 概述::事务指的是一次可以执行多个操作命令——>把对应的操作命令都放在事务中,一旦执行事务,就会把事务中所包含的所有操作命令全部执行。
备注:在没有事务介入前,每一个命令都是一个一个执行的
- 事务的创建流程:
事务从开始到执行会经历三个阶段:
开始事务—–>multi
命令入队——>各种操作命令
执行事务——>exec
备注:redis数据库“事务”,并没有真正做到原子性——>“伪事务”(低版本的)
5、Redis数据库的备份与恢复
- 数据库备份操作:
save 备份完成后,生成一个dump.rdb文件,放在redis的安装目录
备注:有时候备份完成后,找不到或不清楚该文件存在的路径(redis的安装目录):config get dir
- 数据库还原/恢复操作:
只需要把dump.rdb文件,放入到redis目录下,重启redis服务即可
相关文章:
软件测试基础篇——Redis
Redis Redis数据库的配置与连接 解压redis数据库的安装包(建议把解压后的安装包放到磁盘的根目录,方便访问操作)打开【命令行窗口】:winR在命令行窗口,进入到redis安装目录中 格式一:cd /d redis目录…...
大数据扫盲(1): 数据仓库与ETL的关系及ETL工具推荐
在数字化时代,数据成为了企业决策的关键支持。然而,随着数据不断增长,有效地管理和利用这些数据变得至关重要。数据仓库和ETL工具作为数据管理和分析的核心,将帮助企业从庞杂的数据中提取有价值信息。 一、ETL是什么? …...
spring的aop动态代理对象注入时机
bean生命周期: bean实例化populateBean填充属性invokeAwareMethods调用aware方法postProcessBeforeInitialization后置处理器before方法initializeBean初始化beanpostProcessAfterAfterInitialization后置处理器after方法 代理对象注入有两种情况:提前和…...
idea集成svn
一、注意 安装svn客户端的时候一定要勾选,否则在idea上集成svn的时候会找不到 svn.exe 而报错。 如果当初安装时忘记勾选,重新运行安装包,选择modify,勾选command line client tools项中的内容。 二、配置idea集成svn 三、检出(c…...
RedisDesktopManage
RDM 简介下载安装 简介 RedisDesktopManager(RDM)是一个开源的跨平台图形界面工具,用于管理和操作 Redis 数据库。它提供了一个用户友好的界面,使用户能够轻松地连接、浏览、查询和修改 Redis 数据,而无需使用命令行界…...
《Vue.js实战》——基础篇(1)
目录 资源:🌟 一、初识Vue.js👋 Vue.js是什么?🙇 MVVM模式 ✍ Vue.js有什么不同 ☔ 如何使用Vue.js? ☁ 传统的前端开发模式 ☀ Vue.js的开发模式 🗻 二、数据绑定和第一个Vue应用 Ὗ…...
R语言 列表中嵌套列名一致的多个数据框如何整合为一个数据框
在批量建模后容易得到list,list中的每个元素都是单个的tibble 或者 dataframe,如何将这些数据整合为一张表呢? 载入R包 library(broom) library(tidyverse) 模拟数据 models <- txhousing %>% group_by(city) %>% do(modlm(lo…...
PyQt5利用QTextEdit控件输入多行文本
1、总代码 #!/usr/bin/env python # -*- coding: utf-8 -*- import sys from PyQt5.QtWidgets import QApplication,QWidget from PyQt5 import QtCore, QtWidgetsclass Ui_Form(object):def setupUi(self, Form):Form.setObjectName("Form")Form.resize(320, 240)s…...
【数据结构】二叉树常见题目
文章目录 前言二叉树概念满二叉树完全二叉树二叉搜索树(二叉排序树)平衡⼆叉搜索树存储⽅式 二叉树OJ二叉树创建字符串二叉树的分层遍历1二叉树的分层遍历2给定一个二叉树, 找到该树中两个指定节点的最近公共祖先二叉树搜索树转换成排序双向链表二叉树展开为链表根据一棵树的前…...
树莓派使用 ENC28J60
前言 一些老的、Mini 的 ARM 开发板上没有预留网口,这样在调试升级内核或应用程序时很不方便。纵使有串口下载工具,但其速度也是慢地捉急。这种情况下,使用其它接口来扩展出一个网口无疑是一个比较好的方法。 ENC28J60 就是一个使用 SPI 接口…...
跟我学C++中级篇——模板友元的应用
一、友元 友元在以前分析过,而且一般编程是不推荐使用友元的,原因是友元破坏了类的封装性。但凡事总有例外,在某些情况下,用友元还是比较方便的,那么该用还得用,不能因噎废食。普通的友元,各种…...
软件测试基础篇——MySQL
MySQL 1、数据库技术概述 数据库database:存放和管理各种数据的仓库,操作的对象主要是【数据data】,科学的组织和存储数据,高效的获取和处理数据SQL:结构化查询语言,专为**关系型数据库而建立的操作语言&…...
FreeRTOS(二值信号量)
资料来源于硬件家园:资料汇总 - FreeRTOS实时操作系统课程(多任务管理) 目录 一、信号量的概念 1、信号量的基本概念 2、信号量的分类 二、二值信号量的定义与应用 1、二值信号量的定义 2、二值信号量的应用 三、二值信号量的运作机制 1、FreeRTOS任务间二值…...
leetcode面试题:动物收容所(考查对队列的理解和运用)
题目: 有家动物收容所只收容狗与猫,且严格遵守“先进先出”的原则。在收养该收容所的动物时,收养人只能收养所有动物中“最老”(由其进入收容所的时间长短而定)的动物,或者可以挑选猫或狗(同时…...
【Linux命令行与Shell脚本编程】第十八章 文本处理与编辑器基础
Linux命令行与Shell脚本编程 第十八章 文本处理与编辑器基础 文章目录 Linux命令行与Shell脚本编程第十八章 文本处理与编辑器基础 文本处理与编辑器基础8.1.文本处理8.1.1.sed编辑器8.1.1.1.在命令行中定义编辑器命令8.1.1.2.在命令行中使用多个编辑器命令8.1.1.3.从文件中读…...
2023牛客暑期多校训练营7
Beautiful Sequence 贪心,二进制,构造 Cyperation 模拟 ,数学 We Love Strings 分块,二进制枚举,二进制容斥dp Writing Books 签到 根据相邻两个异或值B,因为前小于等于后,故从高到低遍历B的每一…...
centos7升级glibc2.28
1 概述 centos7自带的glibc对于某些软件是太旧的,决定将glibc升级至2.28。 2 安装过程 2.1 下载glibc源码 mkdir -p /opt/third-party && cd /opt/third-party wget http://ftp.gnu.org/gnu/glibc/glibc-2.28.tar.gz tar -xf glibc-2.28.tar.gz cd glibc…...
腾讯云香港服务器租用_2核2G20M_2核4G30M
腾讯云香港服务器租用费用表,目前中国香港地域轻量应用服务器可选配置2核2G20M、2核2G30M、2核4G30M,操作系统可选Windows和Linux,不只是香港云服务器,新加坡、硅谷、法兰克福和东京服务器均有活动,腾讯云服务器网分享…...
十三、ESP32PS2摇杆(ADC)
1. 运行效果 在上下左右操作PS2摇杆的时候,会检测到数据 2. 滑动电阻...
网络安全的相关知识点
网络安全威胁类型: 1.窃听:广播式网络系统。 2.假冒 3.重放:重复一份报文或者报文的一部分,以便产生一个被授权的效果。 4.流量分析 5.数据完整性破坏 6.拒绝服务 7.资源的非授权使用 8.陷门和特洛伊木马:木马病毒有客…...
手游刚开服就被攻击怎么办?如何防御DDoS?
开服初期是手游最脆弱的阶段,极易成为DDoS攻击的目标。一旦遭遇攻击,可能导致服务器瘫痪、玩家流失,甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案,帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!
简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求,并检查收到的响应。它以以下模式之一…...
解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...
