Redis基础篇-002 初识Redis

1、认识NoSQL

1.1 概念

NoSQL是一个非关系型数据库。

常见的NoSQL有:Redis、MongoDB

1.2 NoSQL与SQL的区别

类别SQLNoSQL
数据结构结构化非结构化
数据关联关联非关联
查询方式SQL非SQL
事务特性ACIDBASE
存储方式磁盘内存
扩展性垂直水平
使用场景1)数据结构固定
2)相关业务对数据安全性、一致性要求较高
1)数据结构不固定
2)对一致性、安全性要求不高
3)对性能要求

2、认识Redis

2.1 概念

        Redis诞生于2009年全称是Remote Dictionary Server,远程词典服务器,是一个基于内存的键值型NoSQL数据库。

2.2 特征

  1. 键值型(key-value型),value支持多种不同数据结构,功能丰富
  2. 单线程,每个命令具备原子性
  3. 低延迟,速度快(基于内存,IO多路复用)
  4. 支持数据持久化
  5. 支持主从集群、分片集群
  6. 支持多语言客户端(java,python,c)

3、安装Redis

Redis官网:Redis

官网只提供了linux版本的redis软件。

3.1 准备一台虚拟机,安装CentOS7

  • 准备虚拟机

本次安装Redis是基于Linux系统下安装的,因此需要一台Linux服务器或者虚拟机。

Ps:由于提供的CentOS操作系统为mini版,因此需要自行配置网络,如果您使用的是自己购买的服务器,请提前开放6379端口,避免后续出现的莫名其妙的错误!

  • 操作系统:CentOS-7-x86_64-Minimal-1708
  • Redis:redis-6.2.6.tar

  • xShell及xFtp:家庭/学校免费 - NetSarang Website

mac电脑安装虚拟机教程-CSDN博客

3.2 下载客户端软件(mac电脑)

redis-desktop-manager-0.8.3-2550.dmg_免费高速下载|百度网盘-分享无限制

将dmg下载下来后,设置-->安全与隐私--->点击信任该软件

3.3 下载Redis

redis-6.2.6.tar

Redis是基于C语言编写的,因此首先需要安装Redis所需要的gcc依赖

yum install -y gcc tcl

安装成功如下图所示:

3.3.1 正式安装Redis

  • redis-6.2.6.tar上传至/usr/local/src目录
  • 在xShell中cd/usr/local/src目录执行以下命令进行解压操作
  • 解压成功后依次执行以下命令
cd redis-6.2.6
make
make install
  • 安装成功后打开/usr/local/bin目录(该目录为Redis默认的安装目录)

4、启动Redis

Redis的启动方式有很多种,例如:前台启动后台启动开机自启

4.1 前台启动(不推荐)

这种启动属于前台启动,会阻塞整个会话窗口,窗口关闭或者按下CTRL + C则Redis停止。不推荐使用。 

  • 安装完成后,在任意目录运行 redis-server 命令即可启动Redis
redis-server
  • 启动成功如下图所示

4.2 后台启动(不推荐)

如果要让Redis以后台方式启动,则必须修改Redis配置文件,配置文件所在目录就是之前我们解压的安装包下

  • 因为我们要修改配置文件,因此我们需要先将原文件备份一份 :
cd /usr/local/src/redis-6.2.6
cp redis.conf redis.conf.bck
  • 然后修改redis.conf文件中的一些配置
# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
bind 0.0.0.0
# 守护进程,修改为yes后即可后台运行
daemonize yes 
# 密码,设置后访问Redis必须输入密码
requirepass 1325
  • Redis其他常用配置
# 监听的端口
port 6379
# 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
dir .
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 1
# 设置redis能够使用的最大内存
maxmemory 512mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"
  • 启动Redis
# 进入redis安装目录 
cd /usr/local/src/redis-6.2.6
# 启动
redis-server redis.conf
  • 停止Redis服务
# 通过kill命令直接杀死进程
kill -9 redis进程id
# 利用redis-cli来执行 shutdown 命令,即可停止 Redis 服务,
# 因为之前配置了密码,因此需要通过 -a 来指定密码
redis-cli -a 132537 shutdown

4.3 开机自启(推荐)

我们也可以通过配置来实现开机自启

  • 首先,新建一个系统服务文件 
vi /etc/systemd/system/redis.service
  • 将以下命令粘贴进去
[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target
  • 然后重载系统服务
systemctl daemon-reload
  • 现在,我们可以用下面这组命令来操作redis了
# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis
  • 执行下面的命令,可以让redis开机自启
systemctl enable redis

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

论文润色机构哪个好 PaperBERT

大家好,今天来聊聊论文润色机构哪个好,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: 标题:论文润色机构哪个好――专业、高效、可靠的学术支持 一…

什么是大小端?

今天说一下什么是大小端模式? 大小端模式指的是什么?通常我们在存储器当中存储数据的字节顺序,注意这里强调的是“字节的顺序”。因为在计算机系统中,不管是单片机DSP或者是X86,我们说一个地址对应的存储空间大小呢就是…

一款超级给力的弱网测试神器—Qnet(上)

📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!📢交流讨论:欢迎加入我们一起学习!📢资源分享:耗时200小时精选的「软件测试」资…

yum install net-tools 命令报错,无法安装成功

编辑网卡文件 插入数据,输入: i 保存编辑:输入 Esc 然后:wq

APP测试要点有哪些?本文已经给你梳理好了!

我们日常购物、旅游、支付等活动都离不开手机,由此衍生了很多APP。 比如每天使用频率非常高的微信、支付宝、微博、抖音、王者荣耀等等。 APP测试主要进行功能测试、性能测试、自动化测试、安全性测试、兼容性测试、专项测试。 01 APP测试流程 APP测试流程与web…

flask 之上传与下载

from flask import Flask, render_template, request, send_from_directory, redirect, url_for import osapp Flask(__name__)# 上传文件存储路径 UPLOAD_FOLDER uploads app.config[UPLOAD_FOLDER] UPLOAD_FOLDERapp.route(/) def index():# 确保上传文件夹存在if not os.…

理解按需自动导入 unplugin-auto-import unplugin-vue-components

文章目录 unplugin-auto-import基础使用构建工具引入插件配置插件 import:配置自动导入规则使用预设自动引入第三方库自动导入 TypeScript 类型vue 预设的自动导入配置 dts:让编辑器环境识别 ts 类型eslintrc:解决 eslint 检查错误dirs&#…

毕业单纯的钻研嵌入式知识有前景吗?

今日话题,毕业单纯的钻研嵌入式知识有前景吗?嵌入式领域的薪资相对一般,但有着巨大的上升空间。然而,嵌入式开发的学习路径可能相对曲折。其中,理解计算机结构是其中之一的挑战,因为嵌入式系统对稳定性要求…

MyBatis见解2

5.MyBatis的原始Dao开发-了解 使用Mybatis开发Dao,通常有两个方法,即原始Dao开发方式和Mapper接口代理开发方式。而现在主流的开发方式是接口代理开发方式,这种方式总体上更加简便。我们的课程讲解也主要以接口代理开发方式为主。在第4节已经…

一个很好用的Docker可视化管理工具

目录 前言Portainer安装部署使用 前言 一个好的docker可视化管理工具,可以提升我们不少的工作效率,下面我就推荐一个我使用过的,感觉很不错的一个可视化管理工具给大家 Portainer Portainer是一个开源的Docker管理工具,提供了容…

前端手动部署与自动化部署

连接服务器 先购买服务器 安装vscode插件 连接服务器 连接成功 手动部署 安装nginx 启动nginx systemctl start nginx systemctl status nginx systemctl enable nginx启动 检查状态 开机就启动nginx 开始手动部署 配置nginx 成功

数据库学习日常案例20231221-oracle libray cache lock分析

1 问题概述: 阻塞的源头为两个ddl操作导致大量的libray cache lock 其中1133为gis sde的create table as语句。 其中697为alter index语句。

【贪心】最优装载问题Python实现

文章目录 问题描述形式化描述 贪心算法贪心选择性质最优子结构性质 时间复杂性Python实现 个人主页:丷从心 系列专栏:贪心算法 问题描述 有一批集装箱要装上一艘载重量为 c c c的轮船,其中集装箱 i i i的重量为 w i w_{i} wi​在装载体积不受…

QT打包exe文件,在其它电脑里双击exe就可以直接运行

想要不依赖QT环境,在其它电脑里直接双击exe文件就可以运行当前程序。具体打包过程如下: 使用QT编译出release版本的exe release版本运行无误后,需要找到当前构建生成的exe所在文件夹 可以看到具体目录在这里 我在该目录下的bin文件夹里找到…

数据结构学习 Leetcode300最长递增子序列

是我在学习动态规划时遇到的一道题。 题目: 一共有两种解法: 动态规划贪心 二分(很难理解,我还没完全懂。。。) 解法一:动态规划 思路: 状态:nums的前i个数的最长递增子序列。dp…

ZKP Pasta Curves

Mina book[https://o1-labs.github.io/proof-systems/specs/pasta.html?highlightpasta#pasta-curves]学习笔记 Pasta Curves Pasta Curves is a fascinating innovation in cryptography designed by Zcash. What are the Pasta Curves The Pasta Curves are a pair of e…

Codeforces Round 916 (Div. 3)

Codeforces Round 916 (Div. 3) A. Problemsolving Log 题意:竞赛中有26个问题需要解决,每个问题名称为A到Z26个英文字母,按难度排序,做出A需要花费1分钟,B需要花费2分钟…以此类推。现在给出一个字符串表示竞赛日志…

【SpringBoot快速入门】(4)SpringBoot项目案例代码示例

目录 1 创建工程3 配置文件4 静态资源 之前我们已经学习的Spring、SpringMVC、Mabatis、Maven,详细讲解了Spring、SpringMVC、Mabatis整合SSM的方案和案例,上一节我们学习了SpringBoot的开发步骤、工程构建方法以及工程的快速启动,从这一节开…

js禁止打开控制台,如何强行打开控制台?

当我在查看某个网站的源码时,按F12会跳转到百度页面,或者先打开F12再输入网站也会进入到百度首页。 首先我们要关闭控制台进入到这个网站的首页,然后右键查 看网站的源码。 1.找到这个js文件,点进去。 2.点击这个js文件之后&a…

mysql:查看服务端没有睡眠的线程数量

使用命令show global status like Threads_running;可以查看服务端没有睡眠的线程数量。 例如: