Redis Part1

news2024/11/15 9:39:25

单体架构:一台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:

 

 

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

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

相关文章

信息安全三级概述

信息安全三级概述

C语言之const

C语言之const const修饰全局变量 此时全局变量只能使用但是不能修改, 如果直接拿全局变量修改值,编译直接报错 如果使用全局变量的地址修改值,运行时程序异常结束 const修饰普通局部变量 可以读取变量的值 不能直接通过变量进行修改值&a…

开源库源码分析:Okhttp源码分析(一)

开源库源码分析:OkHttp源码分析 导言 接下来就要开始分析一些常用开源库的源码了,作为最常用的网络请求库,OkHttp以其强大的功能深受Android开发者的喜爱(比如说我),还有对该库进行二次封装而成的热门库&a…

为何红黑树在B/B+树之上仍然占据重要地位?

为何红黑树在B/B树之上仍然占据重要地位? 引言二、红黑树和B/B树的基本原理2.1、红黑树的特点和性质2.2、B/B树的特点和性质2.3、红黑树和B/B树的比较 三、B/B树相对于红黑树的优势四、红黑树仍然占据重要地位的原因总结 博主简介 💡一个热爱分享高性能服…

成都营运《乡村振兴战略下传统村落文化旅游设计》许少辉八一著作

成都营运《乡村振兴战略下传统村落文化旅游设计》许少辉八一著作

【深度学习】 Python 和 NumPy 系列教程(廿七):Matplotlib详解:3、多子图和布局:散点矩阵图(Scatter Matrix Plot)

目录 一、前言 二、实验环境 三、Matplotlib详解 1、2d绘图类型 2、3d绘图类型 3、多子图和布局 1. subplot()函数 2. subplots()函数 3. 散点矩阵图(Scatter Matrix Plot) 一、前言 Python是一种高级编程语言,由Guido van Rossum于…

2327. 知道秘密的人数;1722. 执行交换操作后的最小汉明距离;2537. 统计好子数组的数目

2327. 知道秘密的人数 核心思想:动态规划,每天的人可以分为三种,可分享秘密的人,不可分享秘密的人,忘记秘密的人。定义f[i]为第i天可分享秘密的人,那么第(idelay ,iforget)天,会增加f[i]个可分…

广州口腔医院种植牙-广东省爱牙工程公益种牙,获湾区群众点赞

广州种植牙价格表-自2017年成立以来,广东省爱牙工程一直坚持以公益惠民为宗旨、公益种牙为服务方向,针对群众普遍存在的口腔健康问题,开展形式多样的公益性口腔医疗惠民活动。 广州种植牙费用表-日前,广东省爱牙工程“种植牙惠民行动”第二十季已正式启动。据广东省爱牙工程官方…

DataGrip 2023 年下载、安装教程、亲测可用

文章目录 前言1. 下载2. 安装3、DataGrip 常用操作4 推荐阅读 前言 DataGrip 是 JetBrains 发布的多引擎数据库环境,支持 MySQL 和 PostgreSQL,Microsoft SQL Server 和 Oracle,Sybase,DB2,SQLite,还有 Hy…

窜货链接的有效治理流程

当商跨区域销售时,但产生了窜货,窜货的根本是因为低价,虽然品牌都会禁止经销商窜货销售,但为了获得更多利润,很多经销商还是会悄悄做着窜货销售的行为,而窜货不仅会破坏渠道的正常发展,同时还会…

第六章 图 十、关键路径

开始顶点(源点): 在AOE网中仅有一个入度为0的顶点,称为开始顶点(源点),它表示整个工程的开始; 结束顶点(汇点): 也仅有一个出度为0的顶点,称为结束顶点(汇点)&#xf…

Postman应用——初步了解postman

Postman 是一个用于构建和使用 API 的 API 平台,Postman 简化了 API 生命周期的每个步骤并简化了协作,可以更快地创建更好的 API。 Postman 包含一个基于Node.js的强大的运行时,允许您向请求(request)和分组&#xff…

redis缓存穿透、击穿、雪崩介绍

缓存穿透 概念 缓存穿透指某一特定时间批量请求打进来并访问了缓存和数据库都没有的key,此时会直接穿透缓存直达数据库,从而造成数据库瞬时压力倍增导致响应速度下降甚至崩溃的风险; 解决方案 一、通过布隆过滤器解决 原理:将…

关于content-type的理解

一.content-type的结论 告诉后端传过去的数据是什么类型的数据 二.没有请求体 (1)没有请求体的情况下content-type没有意义。 (2):图示 里面是没有请求体的 (3)有请求体的情况 二.常见的三种方式 (1)application/x-www-form-urlencoded(默认) 参数的表现形式: 传递之前可以…

ESIM实战文本匹配

引言 今天我们来实现ESIM文本匹配,这是一个典型的交互型文本匹配方式,也是近期第一个测试集准确率超过80%的模型。 我们来看下是如何实现的。 模型架构 我们主要实现左边的ESIM网络。 从下往上看,分别是 输入编码层(Input Ecoding) 对前…

变压器寿命预测(python代码,Logistic Regression模型预测效果一般,可以做对比实验)

1.数据来源官网:Data for: Root cause analysis improved with machine learning for failure analysis in power transformers - Mendeley Data 点Download All 10kb即可下载数据 2.下载下来后是这样 每一列的介绍: Hydrogen 氢气; Oxyge…

低代码开源项目整理

低代码是基于可视化和模型驱动理念,结合云原生与多端体验技术,它能够在多数业务场景下实现大幅度的提效降本,为专业开发者提供了一种全新的高生产力开发范式。下面就来分享几个值得学习和使用的前端低代码开源项目,更深入地了解什…

八股——const 关键字

1.const作用 作用&#xff1a;const用于保护指针指向数据不被修改 测试代码1 显示数组的函数不小心修改了指针指向的值&#xff0c;这时候没有加const关键字&#xff0c;编译器不会报错 #include <stdio.h> void showar(int ar[]);int main(void) {int ar[4]{2,3,4,5…

Docker--未完结

一.Docker是干什么的 在没亲自使用过之前&#xff0c;再多的术语也仅仅是抽象&#xff0c;只有写的人或者使用过的人能看懂。 所以&#xff0c;作为新手来说&#xff0c;只要知道Docker是用于部署项目就够了&#xff0c;下面展示如何用Docker部署项目及Docker常用命令。 二、…

TMS320F280049最小系统原理图

TMS320F280049最小系统原理图 1.概述2. 典型的 F2800x 系统方框图3. 最小系统原理图设计3.1 封装和器件决策3.2 电源及去耦电容3.3 晶振3.4 GPIO3.5 ADC模块3.6 JTAG 最近做了个新车规项目&#xff0c;第一次接触TMS320F280049&#xff0c;记录一下&#xff0c;最小系统原理图设…