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

Redis Part1

单体架构:一台Web服务器、一台数据库服务器。 

1.了解NoSql

什么是Nosql?

  • NoSQL,即Not-Only-SQL,意思就是我们干事情不能只用SQL,泛指非关系型的数据库!
  • NoSQL定位:作为关系型数据库的补充!最终数据还是存储在硬盘/磁盘里面。
  • NoSQL仅仅是一个概念, 泛指非关系型的数据库,区别于关系数据库,它们不保证关系数据的ACID特性。
  • NoSQL不是什么情况下都用的,是有适用前提的:应对基于海量用户(高并发)和海量数据前提下的数据处理问题。
常见的NoSql产品

2.Redis介绍

2.1什么是Redis

全称: REmote DIctionary Server 远程字典服务器 )。
  • 是完全开源免费的,用C语言编写的, 遵守 BCD协议。
  • 是一个高性能的(key/value)分布式内存数据库基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构 服务器。

Redis 与其他 key - value 缓存产品有以下三个特点:

  1. Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
  2. Redis不仅仅支持简单的key-value类型的数据,同时还提供listsetzsethash等数据结构的存储
  3. Redis支持数据的备份,即master-slave(主从)模式的数据备份

2.2 Redis优势

  1. 性能极高 – Redis能读的速度是110000/s,写的速度是81000/s
  2. 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets Ordered Sets 数据类型操作。
  3. 原子 Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
  4. 丰富的特性 – Redis还支持 publish/subscribe订阅通知key 过期等等特性
  5. 采用单线程避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗CPU,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗;
  6. 使用多路I/O复用模型,非阻塞IO;

2.3 Redis下载

(1)Http://redis.io/ 英文地址

(2)Http://www.redis.cn/ 中文地址

3.2 Redis的安装

3.2.1 Redis的编译环境

  • Redis是C语言开发的,安装redis需要先去官网下载源码进行编译,编译需要依赖于GCC编译环境,如果CentOS上没有安装gcc编译环境,需要提前安装,安装命令如下:yum install gcc-c++

 

上传Redis安装文件到Linux服务器,并且移动到/usr/local/MySoftWare目录中,接着解压:

编译Redis(编译,将.c文件编译为.o文件)

  • 进入解压文件夹,执行 make

  • 编译成功!如果编译过程中出错,先删除安装文件目录,后解压重新编译

安装:make PREFIX=/home/admin/myapps/redis install

安装之后的bin目录:

bin文件夹下的命令:  

Copy文件:将redis解压的文件夹中的redis.conf文件复制到安装目录  

  • Redis启动需要一个配置文件可以修改端口号信息。 

3.3 Redis的启动

3.3.1 Redis的前端模式启动

直接运行bin/redis-server将使用前端模式启动:  

前端模式启动的缺点启动完成后,不能再进行其他操作,这个界面只能启动,启动后不能进行其他操作如果要退出操作必须使用Ctrl+C。

3.3.2 Redis的后端启动  

修改redis.conf配置文件,找到daemonize no,将no改为yes,然后可以使用后端模式启动。  

  • no表示不允许后端启动! 

 

启动时,需要既指定指令,指定配置文件(这里所在文件夹是redis)  

Redis默认端口:6379,通过当前服务进行查看

3.3.3 客户端访问连接redis

  • 如果想要通过指令来操作redis,可以使用redis的客户端进行操作,在bin文件夹下运行redis-cli
  • 如果想要连接指定的ip地址以及端口号,则需要按照: redis-cli  -h  ip地址  -p 端口号 语法结构连接。
  • 该指令默认连接的127.0.0.1 ,端口号是6379

3.3.4 向Redis服务器发送命令

  • ping测试客户端与Redis的连接是否正常,如果连接正常,回收到Pong

3.3.5 退出客户端quit 

3.3.6 Redis的停止  

(1) 强制结束程序(不推荐)

  • 强制终止Redis进程可能会导致Redis持久化数据丢失。  
  • 语法:kill -9 pid  
  • 进程号pid可以通过 ps -aux | grep redis 进行查询。

(2) 正确停止Redis的方式应该是 :向Redis发送SHUTDOWN命令,方法为(关闭默认的端口) 

3.3.7 第三方工具(redis-desktop-manager)操作redis  

1. 关闭Linux防火墙  

2.  进入自己的redis安装目录,vim进入redis.conf修改redis.conf文件中的bind参数

接着重新启动Redis:

连接Redis:

 

 

相关文章:

Redis Part1

单体架构:一台Web服务器、一台数据库服务器。 1.了解NoSql 什么是Nosql? NoSQL,即Not-Only-SQL,意思就是我们干事情不能只用SQL,泛指非关系型的数据库!NoSQL定位:作为关系型数据库的补充&am…...

代理HTTP使用不当会出现哪些问题?如何正确使用代理服务?

代理HTTP是一种常见的网络代理方式,它为客户端和服务器之间提供中间层,转发上下游的请求和响应。正确使用代理HTTP可以提高采集效率、增加网络安全性、加速网络速度、保护用户隐私。但是,使用不当就难以达到预期的效果,在使用代理…...

利用芯片74hc165为单片机增加输入扩展端口proteus仿真arduino

我们前面的博文《输入端口少如何扩展?74hc148或74ls148级联在arduino中实现16转4的应用》介绍了148,148输入后可以立即输出到数码管,可以说它是自带编BCD编码器的。而今天这里我们主要介绍的74hc165是没有编码器,这里我们以proteus为仿真环境…...

docker真实IP解决

背景 在微服务的环境中使用docker部署各个应用,部分应用使用容器内的真实ip暴露出服务。会导致微服务之间调用出现网络超时,要解决这个问题需要让微服务暴露为宿主机的ip 解决 方式一 使用docker-compose的配置 network_mode: "host" emq…...

Linux 内存泄漏检测的基本原理

一、mtrace分析内存泄露 mtrace(memory trace),是 GNU Glibc 自带的内存问题检测工具,它可以用来协助定位内存泄露问题。 它的实现源码在glibc源码的malloc目录下,其基本设计原理为设计一个函数 void mtrace ()&…...

Ubuntu下Nginx配置ModSecurity详细思路及过程

下面是一个简介: Ubuntu是一个linux操作系统,Nginx是一个web服务器软件,ModSecurity是一款开源的web应用防火墙(江湖人称“WAF”)。 如果上面的概念没有一定的了解,下面的内容其实也能看。就是不好操作。…...

入职美团近三个月,闲聊几句

校招入职美团近3个月,随便聊聊 今天和组内的小伙伴们团建来着,聊了很多,感触颇深,碎碎念一下。 作为组内的唯一的校招生,刚入职时面对复杂的业务,各种不熟悉的工具,真的是一脸懵。至少对我自己…...

setInterval倒计时切换页面后不准

背景 最近在做一个倒计时时,发现当切换浏览器tab后,再切回倒计时页面,倒计时的数据不准,比真正的剩余时间多,短时间还好,时间长了,计时器的误差会很大。 原因 倒计时是用setInterval每1000毫…...

信息安全三级概述

信息安全三级概述...

深入JVM:探索Java虚拟机

文章目录 1. JVM简介1.1 定义与核心作用1.2 JVM的跨平台特性 2. JVM内部结构深度探索2.1 类加载机制2.1.1 双亲委派模型2.1.2 OSGI框架2.1.3 类加载器分类 2.2 JVM运行时数据区2.2.1 程序计数器2.2.2 本地方法栈2.2.3 Java虚拟机栈 2.2.4 堆2.2.5 元数据区 2.3 JVM内存区域的性…...

【计算机网络】 RTT和RTO

文章目录 RTT——往返时延RTO(Retransmission Timeout)——超时重传时间 RTT——往返时延 RTT(Round-Trip Time)是计算机网络中的一个重要的性能指标,表示从发送端发送数据开始,到发送端接收到来自接收端的…...

Zabbix监控组件及流程

Zabbix 由5大组件构成 Zabbix Web、Zabbix Server、Zabbix Proxy、Zabbix Database、Zabbix Agent Zabbix监控系统具体监控系统流程如图: Zabbix Web Zabbix Web是基于PHP语言编写的WEB UI界面,展示Zabbix整个监控平台监控数据、配置信息、方便对整个…...

Type-C协议Ver2.0(学习笔记)

题记 本文以TYPE-C协议Ver2.0版本为基础,以直译为主,同时备注作者学习中遇到的问题与理解,如发现文中描述和协议原文有误,欢迎批评指正,感谢! 1 简介 随着USB接口的持续成功,需要调整USB技术…...

智慧工地:实现作业区域安全管控

智慧工地是围绕工程现场人、机、料、法、环及施工过程中质量、安全、进度、成本等各项数据满足工地多角色、多视角的有效监管,实现工程建设管理的降本增效。 建设工程安全文明施工与质量提升,全方位的监测施工人员、各类器械设备、消防安全隐患,并提前对风险进行预警…...

【Unity插件】实现多人在线游戏——Mirror插件的使用介绍

文章目录 前言导入Mirror插件 简单介绍一、RPC调用二、错误注意 基本使用一、创建场景的网络管理器二、创建一个玩家三、添加玩家初始生成位置四、玩家控制五、同步摄像机六、同步不同角色的名字和颜色修改七、同步动画八、同步子弹方法一方法二 九、聊天功能十、场景同步切换十…...

GeoSOS-FLUS未来土地利用变化情景模拟模型

软件简介 适用场景 GeoSOS-FLUS软件能较好的应用于土地利用变化模拟与未来土地利用情景 的预测和分析中,是进行地理空间模拟、参与空间优化、辅助决策制定的有效工 具。FLUS 模型可直接用于: 城市发展模拟及城市增长边界划定;城市内 部高分…...

IntelliJ IDEA使用_Debug操作

文章目录 版本说明图标和快捷键查看变量计算表达式条件断点多线程调试 版本说明 当前的IntelliJ IDEA 的版本是2021.2.2(下载IntelliJ IDEA) ps:不同版本一些图标和设置位置可能会存在差异,但应该大部分都差不多。 图标和快捷键…...

市场的新宠:4G智能手表

现在人们提到智能手表,健康监测、运动记录、接打电话等定是他不可或缺的功能,而其中通讯功能在绝大数多的智能手表上都是通过蓝牙实现的,需要让手表通过蓝牙连接到手机端来进行。在没有手机的情况下,配置再高的蓝牙智能手表也是“…...

Pytorch Advanced(一) Generative Adversarial Networks

生成对抗神经网络GAN,发挥神经网络的想象力,可以说是十分厉害了 参考 1、AI作家 2、将模糊图变清晰(去雨,去雾,去抖动,去马赛克等),这需要AI具有“想象力”,能脑补情节; 3、进行数…...

Python实操如何去除EXCEL表格中的公式并保留原有的数值

import xlwings as xw app xw.App(visibleTrue, add_bookFalse) # 创建一个不可见的Excel应用程序实例 wb app.books.open(rE:\公式.xlsx) # 打开Excel文件 sheet wb.sheets[DC] # 修改为你的工作表名称 # 假设需要清除公式的范围是A1到B10range_to_clear sheet.range(A…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

USB Over IP专用硬件的5个特点

USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...

SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题

分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...

day36-多路IO复用

一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...

作为测试我们应该关注redis哪些方面

1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!

本文介绍了一种名为AnomalyAny的创新框架,该方法利用Stable Diffusion的强大生成能力,仅需单个正常样本和文本描述,即可生成逼真且多样化的异常样本,有效解决了视觉异常检测中异常样本稀缺的难题,为工业质检、医疗影像…...

【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL

ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...

在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例

目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码:冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...