认识Redis
redis:字典型数据库,存储的是键值对,是NoSql数据库
关系型数据库和NoSql之间的区别:
-
结构化:NoSql非结构化数据库,松散结构(键值对key-value(可以任意类型),文档型)没有mysql那么严格的约束,比如唯一性,是否可以为空。
-
关联性:关系型数据库(表和表之间通过外键关联);NoSql通过json文档嵌套,数据重复,没有关联。
-
Sql查询:mysql查询语法固定;Nosql没有固定语法,redis查询Get user:1
-
事务:关系型数据库满足acid;Nosql无法全部满足acid
-
存储方式:关系型数据库:磁盘;NoSql:内存
扩展性
- 关系型数据库集群模式一般是主从,主从数据一致,起到数据备份的作用,称为垂直扩展。
- 非关系型数据库可以将数据拆分,存储在不同机器上,可以保存海量数据,解决内存大小有限的问题。称为水平扩展。
- 关系型数据库因为表之间存在关联关系,如果做水平扩展会给数据查询带来很多麻烦。
虚拟机上安装Redis
首先安装linux虚拟机可视化工具mobaxterm_portable_v23.2
安装:MobaXterm(终端工具)下载&安装&使用教程-CSDN博客
然后开始安装redis
将redis放在虚拟机/usr/local/src目录下
解压缩:
tar -xzf redis-6.2.6.tar.gz
进入redis目录:
cd redis-6.2.6
运行编译命令:
make && make install
默认的安装路径是在 /usr/local/bin
目录下:
该目录已经默认配置到环境变量,因此可以在任意目录下运行这些命令。
- redis-cli:是redis提供的命令行客户端
- redis-server:是redis的服务端启动脚本
- redis-sentinel:是redis的哨兵启动脚本
启动Redis:
安装完成后,在任意目录输入redis-server命令即可启动Redis:
redis-server
这种启动属于前台启动
,会阻塞整个会话窗口,窗口关闭或者按下CTRL + C
则Redis停止。不推荐使用。
怎么能够让redis保持后台启动呢?(修改配置文件)
配置文件地址:解压的redis安装包下(/usr/local/src/redis-6.2.6
),名字叫redis.conf:
修改之前可以先把redis.conf备份一份:
cp redis.conf redis.conf.bck
修改redis.conf文件中的一些配置:
# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
bind 0.0.0.0
# 守护进程,修改为yes后即可后台运行
daemonize yes
# 密码,设置后访问Redis必须输入密码
requirepass 12345678
启动Redis:
cd /usr/local/src/redis-6.2.6
#后台启动
redis-server redis.conf
可以通过命令查看redis是否启动成功
ps -ef | grep redis
这样使用配置文件启动其实也挺麻烦,如何使得redis开机自启呢?
新建一个系统服务文件:
vi /etc/systemd/system/redis.service
内容如下:
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
PrivateTmp=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
图形化Redis桌面客户端:
在下面这个仓库可以找到安装包:https://github.com/lework/RedisDesktopManager-Windows/releases
连接redis使用。
进行SSH连接虚拟机进行可视化,虚拟机地址找不到,导致连接时一直超时
连接成功: