当前位置: 首页 > news >正文

Redis 介绍安装

数据库

关系型数据库

关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。
SQL 语句(标准数据查询语言)就是一种基于关系型数据库的语言,用于执行对关系型数据库中数据的检索和操作。
主流的关系型数据库包括 Oracle、MySQL、SQL Server、Microsoft Access、DB2、PostgreSQL 等。
以上数据库在使用的时候必须先建库建表设计表结构,然后存储数据的时候按表结构去存,如果数据与表结构不匹配就会存储失败


非关系型数据库

NoSQL(NoSQL = Not Only SQL ),意思是“不仅仅是 SQL”,是非关系型数据库的总称。
除了主流的关系型数据库外的数据库,都认为是非关系型。
不需要预先建库建表定义数据存储表结构,每条记录可以有不同的数据类型和字段个数(比如微信群聊里的文字、图片、视频、音乐等)。
主流的 NoSQL 数据库有 Redis、MongBD、Hbase、Memcached 等

两者的区别

数据存储方式不同

两者的主要差异是数据存储的方式。

关系型数据天然就是表格式的,因此存储在数据表的行和列中;数据表可以彼此关联协作存储,也很容易提取数据

非关系型数据不适合存储在数据表的行和列中,而是大块组合在一起;非关系型数据通常存储在数据集中,就像文档、键值对或者图结构

扩展方式不同

SQL和NoSQL数据库最大的差别可能是在扩展方式上,要支持更多并发

SQL数据库是纵向扩展,也就是提高处理能力,这样处理相同的数据集就更快了;虽然SQL数据库有很大扩展空间,但最终肯定会达到纵向扩展的上限,这都需要通过提高计算机性能来。

NoSQL数据库是横向扩展的,非关系型数据存储天然就是分布式的,NoSQL数据库的扩展可以通过给资源池添加更多普通的数据库服务器(节点)来分担负载。

对事务性的支持不同

SQL数据库支持对事务原子性控制,并且易于回滚事务

虽然NoSQL数据库也可以使用事务操作,但稳定性方面没法和关系型数据库比较,所以它们真正闪亮的价值是在操作的扩展性和大数据量处理方面

非关系型数据库产生背景

可用于应对 Web2.0 纯动态网站类型的三高问题

  • High performance——对数据库高并发读写需求
  • Huge Storage——对海量数据高效存储与访问需求
  • High Scalability && High Availability——对数据库高可扩展性与高可用性需求

Redis 数据库

Redis(远程字典服务器) 是一个开源的、使用 C 语言编写的 NoSQL 数据库

其基于内存运行并支持持久化,采用key-value(键值对)的存储形式,是目前分布式架构中不可或缺的一环

Redis服务器程序是单进程模型,也就是在一台服务器上可以同时启动多个Redis进程,Redis的实际处理速度则是完全依靠于主进程的执行效率。

若在服务器上只运行一个Redis进程,当多个客户端同时访问时,服务器的处理能力是会有一定程度的下降;若在同一台服务器上开启多个Redis进程,Redis在提高并发处理能力的同时会给服务器的CPU造成很大压力

Redis 具有的优点

具有极高的数据读写速度:数据读取的速度最高可达到 110000 次/s,数据写入速度最高可达到 81000 次/s
支持丰富的数据类型:支持 key-value、Strings、Lists、Hashes、Sets 及 Sorted Sets 等数据类型操作
支持数据的持久化:可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用
原子性:Redis 所有操作都是原子性的
支持数据备份:即 master-salve 模式的数据备份

Redis 作为基于内存运行的数据库,缓存是其最常应用的场景之一;除此之外,Redis常见应用场景还包括排行榜类应用、计数器应用、存储关系、实时分析系统、日志记录

Redis 为何速度快

  • Redis是一款纯内存结构,避免了磁盘I/o等耗时操作。
  • Redis命令处理的核心模块为单线程,减少了锁竞争,以及频繁创建线程和销毁线程的代价,减少了线程上下文切换的消耗。
  • 采用了 I/O 多路复用机制,大大提升了并发效率

实验:

安装 Redis

添加Redis压缩包 并解压

然后make 进行编译安装

运行 install_server.sh 脚本

提供Redis 服务所需要的相关配置文

Selected config:
Port           : 6379					            #默认侦听端口为6379
Config file    : /etc/redis/6379.conf		    	#配置文件路径
Log file       : /var/log/redis_6379.log			#日志文件路径
Data dir       : /var/lib/redis/6379			    #数据文件路径
Executable     : /usr/local/redis/bin/redis-server	#可执行文件路径
Cli Executable : /usr/local/bin/redis-cli			#客户端命令工具
将redis的可执行程序文件放入路径环境变量目录中便于系统识别

配置redis文件

vim /etc/redis/6379.conf
bind 127.0.0.1 192.168.10.23	  #70行,添加 监听的主机地址
port 6379						  #93行,Redis默认的监听端口
daemonize yes					  #137行,启用守护进程
pidfile /var/run/redis_6379.pid	  #159行,指定 PID 文件
loglevel notice					  #167行,日志级别
logfile /var/log/redis_6379.log	  #172行,指定日志文件
Redis 服务控制
/etc/init.d/redis_6379 stop			#停止
/etc/init.d/redis_6379 start		#启动
/etc/init.d/redis_6379 restart		#重启
/etc/init.d/redis_6379 status		#状态
安装完成、登录数据库

Redis 命令工具 

  • redis-server:    用于启动 Redis 的工具
  • redis-benchmark: 用于检测 Redis 在本机的运行效率
  • redis-check-aof: 修复 AOF 持久化文件
  • redis-check-rdb: 修复 RDB 持久化文件
  • redis-cli:       Redis 命令行工具
redis-cli 命令行工具

例如:redis-cli -h host -p port -a password

  • -h :指定远程主机
  • -p :指定 Redis 服务的端口号
  • -a :指定密码,未设置数据库密码可以省略-a 选项
  • #若不添加任何选项表示,则使用127.0.0.1:6379连接本机上的Redis数据库

 

redis-benchmark 测试工具

redis-benchmark 是官方自带的 Redis 性能测试工具,可以有效的测试 Redis 服务的性能

基本的测试语法:redis-benchmark [选项] [选项值]

  • -h :指定服务器主机名
  • -p :指定服务器端口
  • -s :指定服务器 socket
  • -c :指定并发连接数
  • -n :指定请求数
  • -d :以字节的形式指定 SET/GET 值的数据大小
  • -k :1=keep alive 0=reconnect 。
  • -r :SET/GET/INCR 使用随机 key, SADD 使用随机值
  • -P :通过管道传输<numreq>请求
  • -q :强制退出 redis。仅显示 query/sec 值
  • --csv :以 CSV 格式输出
  • -l :生成循环,永久执行测试
  • -t :仅运行以逗号分隔的测试命令列表
  • -I :Idle 模式。仅打开 N 个 idle 连接并等待

测试

向 IP 地址为 192.168.154.30 端口为:6379 的 Redis 服务器发送100个并发连接与100000 个请求测试性能

 测试存取大小为100字节的数据包的性能

测试本机上 Redis 服务在进行 set 与 lpush 操作时的性能

Redis 命令操作

set、get——存放 获取键值

查询键值

exists 查询键值是否为空

dbsize 统计key的数目

renamenx  重命名key

rename命令的作用是对已有 key 进行重命名,并检测新名是否存在;如果目标 key 存在则不进行重命名(不覆盖)

rename 旧key  新keyrename a1 aaa1
rename a2 a22

设置、查看密码

切换库、迁移数据

清除数据库内数据
  • FLUSHDB :清空当前数据库数据
  • FLUSHALL :清空所有数据库的数据,慎用!

相关文章:

Redis 介绍安装

数据库 关系型数据库 关系型数据库是一个结构化的数据库&#xff0c;创建在关系模型&#xff08;二维表格模型&#xff09;基础上&#xff0c;一般面向于记录。 SQL 语句&#xff08;标准数据查询语言&#xff09;就是一种基于关系型数据库的语言&#xff0c;用于执行对关系型…...

MyCat管理及监控

MyCat原理 在 MyCat 中&#xff0c;当执行一条 SQL 语句时&#xff0c; MyCat 需要进行 SQL 解析、分片分析、路由分析、读写分离分析等操作&#xff0c;最终经过一系列的分析决定将当前的SQL 语句到底路由到那几个 ( 或哪一个 ) 节点数据库&#xff0c;数据库将数据执行完毕后…...

滑动窗口算法题

更新结果 1、判断条件成立后更新结果 2、入窗口后即可更新结果 判断&#xff1a; 出窗口后状态更新&#xff0c;循环回去再判断。 1、长度最小的子数组 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台...

部署zabbix代理服务器、部署zabbix高可用集群

目录 部署zabbix代理服务器 1、环境设置 2、设置 zabbix 的下载源&#xff0c;安装 zabbix-proxy 3、配置Mariadb yum源&#xff0c;并下载marisdb数据库 4.、启动数据库&#xff0c;并初始化数据库 5、登录数据库&#xff0c;创建数据库并指定字符集&#xff0c;并进行…...

[stm32]外中断控制灯光

在STM32CubeMX中配置外部中断功能和参数 1、将上拉输入的引脚设置为&#xff1a;GPIO_EXTI功能 2、GPIO模式设为下降沿触发外部中断&#xff0c;使能上拉电阻&#xff0c;用户标签 3、要将NVIC的相关中断勾选 只有将中断源进行勾选&#xff0c;相关的中断请求才能得到内核的…...

huggingface下大模型最好的方案

一、背景&#xff1a; 搞模型应用&#xff0c;看看别家的模型&#xff0c;huggingface模型大市场&#xff0c;国际明星企业都在上发布开源大模型&#xff0c;一般5G&#xff0c;甚至10G更大&#xff0c;怎么下载呢&#xff1f; 二、方案 1、git clone 会把整个工程给下载下来…...

Maven 密码加密

一、简介 Maven支持服务器密码加密。该解决方案解决的主要用例是&#xff1a; 多个用户共享同一台生成计算机&#xff08;服务器、CI 框&#xff09;有些用户有权将 Maven 工件部署到存储库&#xff0c;有些则没有。 这适用于任何需要授权的服务器操作&#xff0c;而不仅仅是…...

Socks5代理和代理IP:网络工程师的多面利器

在数字时代&#xff0c;网络工程师的角色日益重要&#xff0c;他们需要应对跨界电商、爬虫、出海业务、网络安全和游戏等领域的技术挑战。而Socks5代理和代理IP技术作为他们的利器&#xff0c;发挥着至关重要的作用。本文将探讨这两种技术在不同领域的应用&#xff0c;展现其在…...

模拟信号隔离器在水处理控制系统中的应用方案

安科瑞 崔丽洁 摘要&#xff1a;水处理控制系统中&#xff0c;其控制、监测模块的非电量模拟量传感器采用信号隔离器的接线方式合理地解决了相关模拟量传感器供电电源安全和相对独立的问题&#xff0c;保证了监测模块的电源、模拟量采集模块和输出模块的相对隔离&#xff0c;降…...

XML是不是主要用做配置文件?

2023年10月11日&#xff0c;周三下午 这几天发现tomcat的配置文件主要是用XML文件来写的&#xff0c; 于是就有了这个问题。 是的,XML非常适合用来做配置文件。 XML作为配置文件的主要优点: 可读性强。XML使用标签结构组织数据,内容清晰易懂。跨语言和跨平台。XML作为纯文本…...

在 Elasticsearch 中实现自动完成功能 3:completion suggester

在这篇博文中&#xff0c;我们将讨论 complete suggester - 一种针对自动完成功能进行优化的 suggester&#xff0c;并且被认为比我们迄今为止讨论的方法更快。 Completion suggester 使用称为有限状态转换器的数据结构&#xff0c;该结构类似于 Trie 数据结构&#xff0c;并且…...

走进Flink

什么是Flink Flink是一个分布式的、高性能的、可伸缩的、容错的流处理引擎&#xff0c;它支持批处理和流处理&#xff0c;并提供了丰富的 API 和库&#xff0c;是实时数据处理的理想选择 由Java 和 Scala 实现的&#xff0c;所以所有组件都会运行在Java 虚拟机【单个JVM也可以】…...

Kubernetes核心组件Services

1. Kubernetes Service概念 Service是kubernetes最核心的概念&#xff0c;通过创建Service&#xff0c;可以为一组具有相同功能的POD&#xff08;容器&#xff09;应用提供统一的访问入口&#xff0c;并且将请求进行负载分发到后端的各个容器应用上。 在Kubernetes中&#xf…...

Win10 系统中用户环境变量和系统环境变量是什么作用和区别?

环境&#xff1a; Win10专业版 问题描述&#xff1a; Win10 系统中用户环境变量和系统环境变量是什么作用和区别&#xff1f; 解答&#xff1a; 在Windows 10系统中&#xff0c;用户环境变量和系统环境变量是两个不同的环境变量&#xff0c;它们具有不同的作用和区别 1.用…...

rust模式

一、模式是什么 模式是Rust中特殊的语法&#xff0c;它用来匹配值 二、模式的使用场景 &#xff08;一&#xff09;match match的每个分支箭头左边部分就是模式。 match VALUE {PATTERN > EXPRESSION,PATTERN > EXPRESSION,PATTERN > EXPRESSION, }例子 match x …...

紫光同创FPGA 多路视频处理:图像缩放+视频拼接显示,OV7725采集,提供PDS工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐FPGA图像缩放方案推荐FPGA视频拼接叠加融合方案推荐紫光同创FPGA图像采集方案推荐紫光同创FPGA图像缩放方案推荐紫光同创FPGA视频拼接方案推荐 3、设计思路框架为什么选择OV7725摄像头&#xff1f;视频源选择OV7725摄像头配置及采集动态彩…...

软考 系统架构设计师系列知识点之软件质量属性(4)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之软件质量属性&#xff08;3&#xff09; 所属章节&#xff1a; 第8章. 系统质量属性与架构评估 第2节. 面向架构评估的质量属性 相关试题 3. 某公司欲开发一个在线交易系统。在架构设计阶段&#xff0c;公司的架构师…...

如何用BI制作图表组合?

BI&#xff08;Business Intelligence&#xff09;是一种通过收集、分析和可视化数据来帮助企业做出决策的技术和工具。在BI中&#xff0c;制作图表组合是一种常见的方式&#xff0c;可以将不同的图表类型组合在一起&#xff0c;以更全面地呈现数据。 下面将详细介绍如何使用B…...

使用frida来spawn Fork 的子进程

索引 需求测试程序父进程代码子进程代码 x64dbg插件功能开始调试 frida运行环境用到的文件和代码 需求 最近在学基础的Windows逆向知识&#xff0c;遇到个小问题。一个进程使用CreateProcessW创建的进程该如何在启动时附加&#xff0c;我想调试这个子进程启动时运行的函数。 …...

网工笔记整理:策略工具Filter-policy的使用

一、概述 Filter-Policy&#xff08;过滤-策略&#xff09;是一个很常用的路由信息过滤工具&#xff0c;能够对接收、发布、引入的路由进行过滤&#xff0c;可应用于IS-IS、OSPF、BGP等协议。 Filter-policy在距离矢量路由协议中的应用 filter-policy import&#xff1a;不发…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 题目描述 地上有一个 m 行 n 列的方格&#xff0c;从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子&#xff0c;但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

【决胜公务员考试】求职OMG——见面课测验1

2025最新版&#xff01;&#xff01;&#xff01;6.8截至答题&#xff0c;大家注意呀&#xff01; 博主码字不易点个关注吧,祝期末顺利~~ 1.单选题(2分) 下列说法错误的是:&#xff08; B &#xff09; A.选调生属于公务员系统 B.公务员属于事业编 C.选调生有基层锻炼的要求 D…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》

这段 Python 代码是一个完整的 知识库数据库操作模块&#xff0c;用于对本地知识库系统中的知识库进行增删改查&#xff08;CRUD&#xff09;操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 &#x1f4d8; 一、整体功能概述 该模块…...

接口自动化测试:HttpRunner基础

相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具&#xff0c;支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议&#xff0c;涵盖接口测试、性能测试、数字体验监测等测试类型…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...