非关系型数据库Redis的安装

一、关系型数据库与非关系型数据库的区别:---------面试高频率问题

1、首先了解一下 什么是关系型数据库?

关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织。

优点:

易于维护:都是使用表结构,格式一致;

使用方便:SQL语言通用,可用于复杂查询;

复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。

缺点:

读写性能比较差,尤其是海量数据的高效率读写;

固定的表结构,灵活度稍欠;

高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈;

2、非关系型数据库

什么非关系型数据库呢?

非关系型数据是一种数据结构化存储方法的集合,可以是文档或者键值对等

优点:

格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。

速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;

高扩展性;

成本低:nosql数据库部署简单,基本都是开源软件。

缺点:

不提供sql支持,学习和使用成本较高;

无事务处理;

数据结构相对复杂,复杂查询方面稍欠。

二、redis介绍

redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库

三、redis的特点:

1.丰富的数据结构 -----String,list,set,hash等数据结构的存储

2.支持持久化

3.支持事务 ---------------事务是指"一个完整的动作,要么全部执行,要么什么也没有做"。

4.支持主从

四、安装
复制代码
##创建工作目录
[root@redis ~]# mkdir -p /data/application

##下载redis
[root@redis ~]# wget https://download.redis.io/releases/redis-6.2.7.tar.gz

##解压自定义的目录
[root@redis ~]# tar xzf redis-6.2.7.tar.gz -C /data/application/ 
[root@redis ~]# cd /data/application/

##改个名字(可做可不做)
[root@redis application]# mv redis-6.2.7/ redis
[root@redis application]# cd redis/

##安装编译工具
[root@redis redis]# yum install -y gcc make
[root@redis redis]# make

注:如果报错请将刚才解压的安装包删除掉,再次重新解压并进行make安装即可。

##备份配置文件
[root@redis redis]# mv redis.conf redis.conf.bak

##修改配置文件
[root@redis redis]# vim redis.conf
bind 0.0.0.0                        #只监听内网IP
daemonize yes                     #开启后台模式将no改为yes
port 6379                             #端口号
dir /data/application/redis/data    #本地数据库存放持久化数据的目录该目录-----需要存在

##创建存放数据的目录
[root@redis redis]# mkdir /data/application/redis/data


##第一种启动并放入后台
[root@redis redis]cd /data/application/redis/src/
[root@redis src]./redis-server ../redis.conf &


##第一种配置redis为systemctl启动
[root@redis redis]# cd /lib/systemd/system
[root@redis system]# vim redis.service
[Unit]
Description=Redis
After=network.target

[Service]
ExecStart=/data/application/redis/src/redis-server /data/application/redis/redis.conf  --daemonize no
ExecStop=/data/application/redis/src/redis-cli -h 127.0.0.1 -p 6379 shutdown

[Install]
WantedBy=multi-user.target
======================================================================================
参数详解:
• [Unit] 表示这是基础信息 
• Description 是描述
• After 是在那个服务后面启动,一般是网络服务启动后启动

• [Service] 表示这里是服务信息 
• ExecStart 是启动服务的命令
• ExecStop 是停止服务的指令

• [Install] 表示这是是安装相关信息 
• WantedBy 是以哪种方式启动:multi-user.target表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。
=========================================================================================
启动服务:
[root@redis system]# systemctl daemon-reload  #重新加载
[root@redis system]# systemctl start redis.service
五、登录并测试
复制代码
[root@redisr system]# cd /data/application/redis/src/
[root@redis src]# ./redis-cli
192.168.246.202:6379> ping     ---测试redis是否可以用
PONG
六、常用选项

EX seconds : 将键的过期时间设置为 seconds 秒。 执行 SET key value EX seconds 的效果等同于执行 SETEX key seconds value。

PX milliseconds : 将键的过期时间设置为 milliseconds 毫秒。 执行 SET key value PX milliseconds 的效果等同于执行 PSETEX key milliseconds value。

NX : 只在键不存在时, 才对键进行设置操作。

XX : 只在键已经存在时, 才对键进行设置操作。

相关推荐
王会举4 分钟前
让SQL飞起来:搭建企业AI应用的SQL性能优化实战
数据库·人工智能·ai·性能优化
bing_15812 分钟前
在 Spring Boot 项目中,如何进行高效的数据库 Schema 设计?
数据库·spring boot·后端·数据库schema设计
s_little_monster18 分钟前
【Linux】线程互斥之线程加锁
linux·运维·经验分享·redis·笔记·学习·学习方法
听雪楼主.29 分钟前
Oracle补丁安装工具opatch更新报错处理
数据库·oracle
不吃元西29 分钟前
对于客户端数据存储方案——SQLite的思考
数据库·sqlite
rgb0f032 分钟前
MySQL视图相关
数据库·mysql·oracle
编程、小哥哥35 分钟前
oracle值sql记录
数据库·sql·oracle
三千花灯41 分钟前
jmeter提取返回值到文件
数据库·jmeter
遥夜人间42 分钟前
Redis之缓存更新策略
redis·缓存
萧离1951 小时前
超细的Linux安装minio教学
数据库