非关系型数据库与redis介绍安装使用

1.非关系型数据库

前言:许多Web应用都将数据保存到关系型数据库( RDBMS)中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大、访问的集中,就会出现RDBMS的负担加重、数据库响应恶化、 网站显示延迟等重大影响。为了解决这些影响,使用非关系型数据库。Memcached/redis是高性能的分布式内存缓存服务器,通过缓存数据库查询结果,减少对关系型数据库访问次数,以提高动态Web等应用的速度、 提高可靠性。

RDBMS即关系数据库管理系统(Relational Database Management System)

非关系型数据库:以键值对的方式存储数据,缓存数据库。

nosql的优缺点:

优点:高可扩展性,分布式计算,低成本,架构的灵活性,没有复杂的关系

缺点:没有标准化,有限的查询功能(到目前为止)

缓存服务器作用: 加快访问速度 ,缓解关系型数据库的读压力

2.关系型数据库与非关系型数据库的区别:

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

优点:
1、易于维护:都是使用表结构,格式一致;
2、使用方便:SQL语言通用,可用于复杂查询;
3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。
缺点:
1、读写性能比较差,尤其是海量数据的高效率读写;
2、固定的表结构,灵活度稍欠;
3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈;
什么非关系型数据库呢?

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

优点:
1、格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
2、速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘;
3、高扩展性;
4、成本低:nosql数据库部署简单,基本都是开源软件。

缺点:
1、不提供sql支持,学习和使用成本较高;
2、无事务处理;
3、数据结构相对复杂,复杂查询方面稍欠。

3.redis服务介绍:

redis是什么?

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

redis的官网:redis.io
注:域名后缀io属于国家域名,是british Indian Ocean territory,即英属印度洋领地

redis特点:

1.丰富的数据结构  -----String,list,set,hash等数据结构的存储
2.支持持久化
3.支持事务   ---------------事务是指“一个完整的动作,要么全部执行,要么什么也没有做”。
4.支持主从

4.redis安装和使用:

下载redis安装压缩包,解压到工作目录下进行编译安装

(1)获取压缩包并解压到工作目录

[root@redis2 ~]# mkdir -p /data/application        #工作目录
[root@redis2 ~]# wget https://download.redis.io/releases/redis-6.2.7.tar.gz     #下载压缩包

[root@redis2 ~]# tar -zxf redis-6.2.7.tar.gz -C /data/application/
[root@redis2 ~]# cd /data/application/
[root@redis2 application]# ls
redis-6.2.7
[root@redis2 application]# yum install -y gcc make   #安装编译工具

[root@redis2 application]# mv redis-6.2.7/ redis
[root@redis2 application]# cd redis/
[root@redis2 redis]# make

(2)对redis的配置文件进行配置,对启动文件进行配置

[root@redis2 redis]# mv redis.conf redis.conf.bak
[root@redis2 redis]# vim redis.conf

bind 0.0.0.0        #监听所有网段,可以修改
daemonize yes       #开启后台模式
port 6379           #端口号,可以修改           
dir /data/application/redis/data        #本地数据库存放持久化数据的目录--需要自己创建

[root@redis2 redis]# mkdir /data/application/redis/data
[root@redis2 redis]# cd /lib/systemd/system
[root@redis2 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表明当系统以多用户方式(默认的运行级别)启动时,这个服务需要被自动运行。

(3)启动服务,进入数据库使用

[root@redis2 system]# systemctl daemon-reload
[root@redis2 system]# systemctl start redis.service
[root@redis2 system]# netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      4033/nginx: master  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      910/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1056/master         
tcp        0      0 0.0.0.0:6379            0.0.0.0:*               LISTEN      9057/redis-server 0 
tcp6       0      0 :::22                   :::*                    LISTEN      910/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1056/master  

[root@redis2 system]# cd /data/application/redis/
[root@redis2 redis]# ./src/redis-cli -h 192.168.142.166 -p 6379 -a wfbmima
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
AUTH failed: ERR AUTH <password> called without any password configured for the default user. Are you sure your configuration is correct?
192.168.142.166:6379> set name haha
OK
192.168.142.166:6379> get name
"haha"
  

(4)如果没有启动文件进行配置也可以直接启动使用

启动:

[root@redis2 redis]# nohup ./src/redis-server ./redis.conf &

关闭:

[root@redis2 redis]# ./src/redis-cli shutdown

登录:

./src/redis-cli -h 192.168.142.166 -p 6379 -a wfbmima

-h  登录用户        -p  端口号        -a  密码

如果没有密码会直接默认登录

[root@redis2 redis]# ./src/redis-cli

5.redis设置密码

1.临时密码,redis服务关闭即失效

在redis内部直接设置密码:

127.0.0.1:6379> config set requirepass wfbmima
OK

2.永久设置密码:

在配置文件里进行修改,配置文件中加 requirepass 密码

[root@redis2 redis]# vim redis.conf

bind 0.0.0.0
daemonize yes
port 6379
dir /data/application/redis/data
requirepass wfbmima

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值