目录
一:初识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认证学习教程 红帽中国培训事业部淮晋阳作序推荐》(段超飞)【摘要 书评 试读】- 京东图书