当前位置:首页 » 《随便一记》 » 正文

【Redis入门篇】| 基于Centos7的Redis安装与启动(文末福利免费送书)

17 人参与  2023年04月08日 10:20  分类 : 《随便一记》  评论

点击全文阅读


目录

​一:初识Redis

1. 认识NoSQL

2. 认识Redis

3. 安装与启动Redis

4. Redis命令行客户端

5. 图形化桌面客户端

图书推荐(送书环节)


Redis入门大纲

一:初识Redis

1. 认识NoSQL

传统的关系型数据库SQL和非关系型数据库NoSQL的区别!

(1)结构化(Structured)& 非结构化

存入关系型数据库的数据都是结构化的数据,格式有固定的要求(表和表的约束)

存入非关系数据库的数据都是非结构化数据,常见的NoSQL的4种存储数据库键值对存储数据库、文档存储数据库、列式存储数据库、图形存储数据库!

①键值对存储数据库

key和value的形式,并且对于key和value我们可以自定义:

②文档存储数据库

把数据封装成一条文档存进去,一条数据(Json格式)就对应这关系型数据库中的一行数据

注:文档存储数据库存储的文档可以是不同结构的,即JSON、XML以及BSON等格式。

③列式存储数据库

列式存储数据库是以列为单位存储数据,然后将列值顺序地存入数据库中。

注:在列式存储数据库中,如果列值不存在,则不需要存储(阴影部分为列值不存在),这样的话,遇到Null值,就不需要存储,可以减少I/O操作和避免内存空间的浪费。

④图形存储数据库

存入的每一个数据可以看成一个节点,节点与节点之间有联系。

(2)关系的(Relational)& 非关系的

①关系型数据库,数据与数据之间建立关系的

一个tb_user表(用户表)

一个tb_item表(商品表)

要想让两张表有关系,需要一个订单表(tb_order)

表和表之间通过外键关系建立起来了,一旦建立,后面删除一个用户tb_user或者一个商品tb_item就不允许这样做,因为在其它表中有关联!并且这种存储方式比较节省空间!

②非关系型的,数据与数据之前没有直接的关联

通过Json文档嵌套的方式去维护关系,这种方式的特点是:没有关联、数据存储重复!

(3)SQL查询 & 非SQL

①SQL语句查询:语法、格式都是固定的

select id,name,age from tb_user where id = 1

②非SQL语句查询:没有固定的语法格式、不统一

get user:1

(4)事务

①SQL关系型数据库的事务需要满足ACID特性:原子性、一致性、隔离性、持久性。

②NoSQL数据库要么没有事务,要么只能满足基本一致性(BASE)。

总结

2. 认识Redis

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

特征

①键值(key-value)型,value支持多种不同数据结构,功能丰富;

②单线程,每个命令具备原子性;

③低延迟,速度快(基于内存、IO多路复用、良好的编码);

④支持数据持久化;

⑤支持主从集群、分片集群;

⑥支持多语言客户端。

3. 安装与启动Redis

 Redis的官方网站地址:https://redis.io/

大多数企业都是基于Linux服务器来部署项目,而且Redis官方也没有提供Windows版本的安装包;所以我会使用虚拟机CentOS 7版本Linux系统来安装Redis!

(1)安装Redis依赖

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

yum install -y gcc tcl

(2)上传安装包并解压安装

使用Xshell进行远程连接,把下载好的redis安装好直接拖拽到我们需要的安装目录!

注:Xshell、SecureCRT自带的有sz、rz服务,可以进行上传和下载不超过4G的文件!

例如:传到/usr/local/src/目录

进行解压

tar -zxvf 压缩包名

解压过后,进入redis目录,运行编译和安装命令:

cd redis-6.2.6 #进入这个目录make && make install #进行编译和安装

默认的安装路径是在目录下: /usr/local/bin

该目录已经默认配置到环境变量,因此可以在任意目录下运行这些命令。其中:

①redis-cli:是redis提供的命令行客户端;

②redis-server:是redis的服务端启动脚本;

③redis-sentinel:是redis的哨兵启动脚本;

(3)启动

redis的启动方式有很多种,例如:

①默认启动;

②指定配置启动;

③开机自启;

①默认启动

安装完成后,在任意目录输入redis-server命令即可启动Redis:

redis-server

如图:

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

②指定配置启动

如果要让Redis以后台方式启动,则必须修改Redis配置文件,就在我们之前解压的redis安装包下(/usr/local/src/redis-6.2.6),名字叫redis.conf!

先将这个配置文件备份一份(养成好习惯,修改一个配置文件之前,先拷贝一份)

cp redis.conf redis.conf.bck

修改redis.conf文件中的一些配置:  

注:这个文件很大,可以先使用vim打开,然后命令行模式下使用 "/单词名“ 搜索方式进行查询,如果当前单词不是,按"n键"快速定位到下一个相同的单词;并且我们也可以使用 "set nu" 命令显示行号,便于下次我们查询!

# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问# 修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0bind 0.0.0.0# 守护进程,修改为yes后即可后台运行daemonize yes # 密码,设置后访问Redis必须输入密码requirepass 123456

Redis的其它常见配置:

# 监听的端口port 6379# 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录dir .# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15databases 1# 设置redis能够使用的最大内存maxmemory 512mb# 日志文件,默认为空,不记录日志,可以指定日志文件名logfile "redis.log"

启动Redis:

# 进入redis安装目录 cd /usr/local/src/redis-6.2.6# 启动redis-server redis.conf #这样才能让这个配置文件生效

此时没有任何输出信息在前台,那么怎么判定我们成功启动了redis呢?

可以查看(默认)端口的运行状态

netstat -tunple | grep 6379

或者查看进程

ps -ef | grep redis

停止服务:

# 利用redis-cli来执行 shutdown 命令,即可停止 Redis 服务,# 因为之前配置了密码,因此需要通过 -u 来指定密码redis-cli -u 123321 shutdown

③开机自启

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

首先,新建一个系统服务文件:

vi /etc/systemd/system/redis.service

内容如下:

[Unit]Description=redis-serverAfter=network.target[Service]Type=forkingExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.confPrivateTmp=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

4. Redis命令行客户端

安装完成Redis,就可以操作Redis,实现数据的CRUD了。这需要用到Redis客户端,包括:

①命令行客户端;

②图形化桌面客户端;

③编程客户端(后面讲);

Redis安装完成后就自带了命令行客户端:redis-cli,使用方式如下:

redis-cli [options] [commonds]

其中常见的options有:

-h 127.0.0.1:指定要连接的redis节点的IP地址,默认是127.0.0.1-p 6379:指定要连接的redis节点的端口,默认是6379-a 123321:指定redis的访问密码

其中的commonds就是Redis的操作命令,例如:

ping:与redis服务端做心跳测试,服务端正常会返回`pong`

不指定commond时,会进入redis-cli的交互控制台

 输入密码进行交互

前面是可以正常交互,但是警告我们使用-a参数指定密码不安全,怎么办呢?

此时可以进行数据的存储(set)和 取出(get)

5. 图形化桌面客户端

(1)GitHub上的大神编写了Redis的图形化桌面客户端,地址:GitHub - RedisInsight/RedisDesktopManager: Cross-platform Developer GUI for Redis

不过该仓库提供的是RedisDesktopManager的源码,并未提供windows安装包。

(2)在下面这个仓库可以找到安装包:Releases · lework/RedisDesktopManager-Windows · GitHub  

进行解压安装,双击可执行文件,进行连接

输入IP和密码进行连接

连接成功进入以下界面

Redis默认有16个仓库,编号从0至15,通过配置文件可以设置仓库数量,但是不超过16,并且不能自定义仓库名称。下标从0开始,并且第一个数据库中还有我们前面存储的数据! 

此时想要在其它库中创建数据(库与库之前进行穿梭)

如果是基于redis-cli连接Redis服务,可以通过select命令来选择数据库!

第一种方式:使用命令 “select 库的下标”

第二种方式:使用图形化界面

 添加成功

图书推荐(送书环节)

本期图书:RHCSA/RHCE8红帽Linux认证学习教程》

        本书从零基础开始讲解,系统介绍了RHCE8的相关知识,以帮助读者快速了解及熟练掌握RHCE8的相关操作,是一本高品质的RHCE认证的学习书籍。

        本书分为9篇,共35章。第1篇主要介绍基本配置;第2篇主要介绍用户及权限管理;第3篇主要介绍网络相关配置;第4篇主要介绍存储管理;第5篇主要介绍系统管理;第6篇主要介绍软件管理;第7篇主要介绍安全管理;第8篇主要介绍容器管理;第9篇主要介绍自动化管理工具ansible的使用。

        本书适用于希望通过RHCE(红帽认证工程师)考试的读者学习,也可以作为培训班的教材使用。

京东自营购买链接:

《RHCSA/RHCE8红帽Linux认证学习教程 红帽中国培训事业部淮晋阳作序推荐》(段超飞)【摘要 书评 试读】- 京东图书


点击全文阅读


本文链接:http://zhangshiyu.com/post/58830.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1