Redis 学习笔记(一)-Redis 安装

news/2024/12/26 4:49:09/文章来源:https://www.cnblogs.com/davidhsiang/p/18555936

一、Redis简介

(1)什么是Redis

​ Redis 是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。在企业开发中, 主要用于做数据库、缓存(热点数据)、消息中间件等功能

什么是 BSD 协议?

BSD 是"Berkeley Software Distribution"的缩写,意思是"伯克利软件发行版"。

BSD开源协议是一个给于使用者很大自由的协议。可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。BSD代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。

Redis的特点:

  • 单个key 存入512M大小
  • 支持多种类型的数据结构(string,list,hash,set,zset)
  • Redis是单线程 , 原子性
  • 可以持久化 , 因为使用了RDB和AOF机制
  • 支持集群 , 支持16个库
  • 可以做消息队列 , 例如 聊天室

Redis的优点:

  • 性能高, 高速读写
  • 丰富的数据结构
  • 原子性

Redis的缺点:

  • 持久化
  • 耗内存

(2)什么是NoSQL数据库

​ NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,尤其是大数据应用难

NoSQL数据库的四大分类:

  • 键值(Key-Value)存储数据库
  • 列存储数据库
  • 文档型数据库
  • 图形(Graph)数据库

NOSQL与SQL :

  • NOSQL : 非关系数据库 , 数据与数据之间没有关联关系
  • SQL : 关系型数据库 , 表与表之间建立关联关系

**NOSQL数据库的试用场景 : **

  1. 模型数据比较简单
  2. 需要灵活性更强的IT系统
  3. 对数据库性能要求较高
  4. 不需要高度的数据一致性
  5. 对给定的key , 比较容易映射复杂值的环境

(3)相关网址

Redis官网 : https://redis.io

Redis作者Github : https://github.com/antirez

Redis教程 : https://www.bilibili.com/video/BV1Cb411j7RA?p=1

二、Redis安装

这里采用redis-6.0.4版为例 , 需要安装最新版redis可去官方下载页查看:http://redis.io/download

(1)下载Redis并编译

$ wget http://download.redis.io/releases/redis-6.0.4.tar.gz
$ sudo tar zxvf redis-6.0.4.tar.gz -C /opt
$ cd /opt/redis-6.0.4
$ sudo make

当出现如下信息, 表示编译完成

编译完成.png

(2)安装redis

sudo make PREFIX=/usr/local/redis install

注意:PREFIX必须大写、同时会自动为我们创建redis目录,并将结果安装此目录

当出现如下信息, 表示安装完成

安装完成.png

(3)查看redis安装目录

cd /usr/local/redis
tree

可以看到redis已经安装完成

查看安装目录.png

三、安装过程中的常见问题

(1)找不到make指令

若找不到make指令, 则需要安装gcc

CentOS

yum -y install gcc automake autoconf libtool make 

注意:运行yum时出现/var/run/yum.pid已被锁定,PID为xxxx的另一个程序正在运行的问题解决

rm -f /var/run/yum.pid

ubuntu

sudo apt update
sudo apt install build-essential

四、启动Redis

(1)启动Redis服务

cd /usr/local/redis/bin
# 启动Redis服务端
./redis-server

**启动Redis 服务端命令: **

redis-server redis.conf

若看到以下内容, 表示Redis服务端启动成功

Redis服务端启动.png

(2)启动Redis客户端

cd /usr/local/redis/bin
# 启动Redis客户端
./redis-cli

**启动Redis 客户端命令: **

redis-cli -h IP地址 -p 端口 -a  密码

退出客户端命令: Ctrl+C

**检测是否服务端启动: **

$ redis-cli
redis 127.0.0.1:6379> PING
PONG

五、关闭Redis服务端

(1)杀死进程

非正常关闭, 容易数据丢失

# 查询PID 
ps -ef | grep -i redis
# 根据PID杀死进程
kill -9 PID

(2)在客户端使用shutdown

正常关闭, 数据保存

$ redis-cli
redis 127.0.0.1:6379> shutdown

在刚刚安装没有配置的Redis中, 使用shutdown指令关闭服务端可能会出现如下问题:

Redis无法关闭.png

这是因为Redis安装的文件夹没有写入权限, 而默认情况下, Redis持久化生成的本地数据库文件 dump.rdb, 在Redis的bin目录中, 我们需要给Redis目录赋予权限

cd /usr/local
sudo chmod -R 777 redis/

六、开放防火墙端口

(1)CentOS7

# 查看已经开放的端口
firewall-cmd --list-ports
# 开启端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
# 重启防火墙
firewall-cmd --reload # 重启
firewall systemctl stop firewalld.service # 停止
firewall systemctl disable firewalld.service # 禁止防火墙开机启动

(2)Ubuntu18.4

# sudo iptables -I INPUT -p tcp --dport [端口号] -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
# 临时保存配置,重启后失效
sudo iptables-save
# 安装 iptables-persistent工具,持久化开放端口配置
sudo apt-get install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload

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

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

相关文章

交互式备忘单: 汇集了各种有用的安全工具

这份工具包是一个交互式备忘单,汇集了各种有用的安全工具,主要用于渗透测试或红队练习。这些工具来自于Github仓库和其他公开来源。以下是工具列表及其分类: AD:用于Active Directory安全的工具。 BinaryExp:用于二进制漏洞利用/入侵的工具。 Blue:用于蓝队操作和防御的工…

29. 使用MySQL之数据库维护

1. 备份数据 像所有数据一样,MySQL的数据也必须经常备份。由于MySQL数据库是基于磁盘的文件,普通的备份系统和例程就能备份MySQL的数据。但是,由于这些文件总是处于打开和使用状态,普通的文件副本备份不一定总是有效。 下面列出这个问题的可能解决方案。使用命令行实用程序…

QT实现组合键监测

QT实现快捷键监测,完成某些组合键功能参考于:Qt 获取组合键 键盘按住某键 鼠标组合实现 - Andy5020 - 博客园MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow) {ui->setupUi(this);QWidget::installEventFilter(this); }bool MainW…

GitLab快速上手指南上篇

作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 目录一.gitlab的基本配置1 登录gitlab并配置汉化2 修改管理员密码3 修改头像4 关闭账号注册功能5 修改邮箱地址二.gitlab用户,组,项目管理1.用户,组,项目查看2.用户管理2.1 新建用户2.2 用户创建成功2.3 …

【springboot开发】Spring Boot3.3 内部配置与外部配置的差异及其应用

在 Spring Boot 开发中,配置管理是关键的组成部分。配置不仅影响应用程序的行为,还直接关系到应用的灵活性和可维护性。Spring Boot 提供了多种方式来管理配置,其中包括内部配置和外部配置。这两种配置方式各有其优势和应用场景,了解它们的特点和使用场景有助于在开发过程中…

DCL

创建用户通过create user 来创建用户 create user 用户名;(不带密码) create user 用户名 identified by 密码;登录用户发现他可以访问的表少,权限比较少; exit 可以退出登录 用户授权 用grant all|权限1,权限2..on 数据库.表 to 用户(with grant option)【加了括号中命…

【springboot开发】Spring Boot 配置文件高级用法

一、总体优先级顺序二、应用配置文件的详细优先级三、文件类型优先级四、特定环境配置五、配置文件高级用法六、案例: 多配置文件处理方式Spring Boot配置文件的优先级是一个重要的概念,它决定了当存在多个配置文件时,哪个配置文件中的配置将被优先采用。 一、总体优先级顺序…

【微服务】微服务中token鉴权设计的4种方式总结

一、JWT鉴权1.1 概述1.2 实现步骤1.2.1 用户登录1.2.2 存储JWT 1.2.3 请求携带JWT1.2.4 服务端验证JWT 1.3 优点 二、OAuth 2.0鉴权2.1 概述2.2 实现步骤2.2.1 授权服务器2.2.2 资源服务器 2.2.3 客户端 2.3 优点三、统一授权中心(API Gateway)3.1 概述3.2 实现步骤 3.2.1 部…

【架构】一文搞懂多规格商品、组合商品模型设计

今天聊聊多规格商品、组合商品模型设计。 一、多规格商品 1.1 什么是多规格商品 多规格商品是指同一款商品具有多个不同的规格或属性,例如颜色、尺寸、材质、容量等。这些规格使得商品能够满足不同消费者的偏好和需求。在新零售系统中,多规格商品通常会以一个商品条目展示,消…

【架构】多租户系统的核心概念模型

让我们深入探讨一下多租户系统的概念模型。概念模型是多租户系统的"骨架",帮助我们理解系统各部分的组织和运作方式。 多租户的核心概念模型 • 租户:通常指一个企业客户,不同租户之间的数据和行为是相互隔离的。• 用户:某个租户内的具体使用者,使用账号、密码…

WinForm 设计器中DPI感知错误解决方法

这张图是WinForm在1080P分辨率下开发的一个Form,但是代码到高分辨率屏幕就会变成这个鸟样虽然说可以通过DPI感知让程序在运行的时候显示出正确的样式,但是这样让我们在设计的时候很是苦恼 在翻看了WinForm微软官方在Net8的更新,发现了这样的一条:我们在项目csproj里面加入一…

安装kali purple后要做的事

1、切换中文sudo dpkg-reconfigure locales翻到最后,找到zh_cn重启搞定。 2、换源vim /etc/apt/sources.list打开后注释原来的源,换上国内源。 先用 # 把原本的注释掉: 之后,在下面添加上新的源: aliyun 阿里云 deb http://mirrors.aliyun.com/kali kali-rolling main no…