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:

 

 

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

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

相关文章

小米OPPO三星一加红魔全机型解锁BL详细教程合集-ROOT刷机必要操作

解锁BL一个熟悉又陌生的词汇,只要你刷机root过,你肯定都解锁BL成功过。我们简单的描述下BL是什么?BL全名bootloader,目前市面上全部机型,基本出厂全部BL处于锁定的状态锁定的BL机型,不支持刷入非官方固件或…

性能测试 —— Jmeter事务控制器

事务: 性能测试中,事务指的是从端到端,一个完整的操作过程,比如一次登录、一次 筛选条件查询,一次支付等;技术上讲:事务就是由1个或多个请求组成的 事务控制器 事务控制器类似简单控制器&…

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

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

韩信点兵:求韩信一共有多少兵

任务描述 本关任务:求韩信一共有多少兵。 韩信有一队兵,他想知道有多少人,便让士兵排队报数。 按从 1 至5报数,最末一个士兵报的数为 1; 按从 1 至 6 报数,最末一个士兵报的数为 5; 按从 1 …

栈与队列--删除字符串中的所有相邻重复项

给出由小写字母组成的字符串 S,重复项删除操作会选择两个相邻且相同的字母,并删除它们。 在 S 上反复执行重复项删除操作,直到无法继续删除。 在完成所有重复项删除操作后返回最终的字符串。答案保证唯一。 示例: 输入&#x…

C/C++指针函数与函数指针

一、指针函数 指针函数:本质为一个函数,返回值为指针指针函数:如果一个函数的返回值是指针类型,则称为指针函数用指针作为函数的返回值的好处:可以从被调函数向主函数返回大量的数据,常用于返回结构体指针。…

基于ntchat的微信群聊同步机器人

微信群有500人上限的限制,建立多个群的话又有信息无法互通的不便,此机器人通过自动将消息转发到同一个同步组内的所有群,消除这一不便性,间接达成扩大群成员数的目的。 效果演示: 项目地址: https://gith…

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

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

Vue echarts 饼图 引导线加小圆点,文字分行展示

需求 重点代码 完整代码 initChart() {// 创建 echarts 实例。var myChartOne this.$echarts.init(this.$refs.Echart);myChartOne.setOption({tooltip: {trigger: "item",},title: {top: center,text: [{name| this.chartTitle.name },{value| this.chartTitle.…

ROS学习笔记(四)---使用 VScode 启动launch文件运行多个节点

ROS学习笔记文章目录 01. ROS学习笔记(一)—Linux安装VScode 02. ROS学习笔记(二)—使用 VScode 开发 ROS 的Python程序(简例) 03. ROS学习笔记(三)—好用的终端Terminator 一、什么是launch文件 虽然说Terminator终端是能够比较方便直观的看运行的节点…

l8-d15 IO多路复用select函数

一、IO多路复用select函数 1.select函数 int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); nfds: 是三个集合中编号最高的文件描述符,加上 1 readfds/writefds/exceptfds: 可读集合/可写集…

LLM 05-大模型法律

LLM 05-大模型法律 5.1 简介 在这个教程中,我们将探讨法律对大型语言模型的开发和部署有何规定。我们将会按照以下的步骤进行讨论: 新技术与现有法律的关系 与我们之前的讲座一样,比如关于社会偏见的讲座,我们将要讨论的很多内容…

2.10 PE结构:重建重定位表结构

Relocation(重定位)是一种将程序中的一些地址修正为运行时可用的实际地址的机制。在程序编译过程中,由于程序中使用了各种全局变量和函数,这些变量和函数的地址还没有确定,因此它们的地址只能暂时使用一个相对地址。当…

虚幻动画系统概述

本文主要整理一下高层次的概述,方便后续查阅 1.动画流程 DCC产出动画文件 -> UE动画导入 -> 动画蓝图驱动(类似unity的动画状态机) ->动画后处理蓝图驱动(例如修型骨,骨骼矫正等后期处理) 2.动…

Ubuntu 出现 Failed to Fetch的解决办法

在使用apt install XXX时出现问题: E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/universe/f/fyba/libfyba0_4.1.1-6build1_amd64.deb Connection failed [IP: 185.125.190.39 80]E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/univers…

数据结构与算法:树

目录 树 定义 结构 二叉树 定义 结构 形式 满二叉树 完全二叉树 存储 链式存储结构 数组 孩子节点 父节点 应用 查找 维持相对顺序 遍历 深度优先遍历 前序遍历 中序遍历 后序遍历 广度优先遍历 层序遍历 二叉堆 定义 自我调整 操作 插入加点 删…

左神算法之中级提升班(9)

目录 【案例1】 【题目描述】 【思路解析】 【代码实现】 【案例2】 【题目描述】 【思路解析 平凡解技巧 从业务中分析终止条件 重点】 【代码实现】 【案例3】 【题目描述】 【思路解析】 【案例4】 【题目描述】 【思路解析】 【代码实现】 【动态规划代码】…

使用SSH地址拉取远程仓库代码报下面的错误

说明:配置了SSH秘钥后,使用SSH地址克隆代码,依旧无法拉取代码,提示下面这个信息。 Their offer:ssh-rsa,ssh-dss fatal:Could not read from remote repository. Please make sure you have the…

【计算机网络】 RTT和RTO

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

【深度学习】 Python 和 NumPy 系列教程(一):Python基本数据类型:1、数字(整数、浮点数)及相关运算;2、布尔值

目录 一、前言 二、实验环境 三、Python基本数据类型 1. 数字 a. 整数(int) b. 浮点数(float) c. 运算 运算符 增强操作符 代码整合 d. 运算中的类型转换 e. 运算函数abs、max、min、int、float 2. 布尔值&#xff08…