1.认识NoSQL
SQL和NoSQL的对比
| SQL | NoSQL | |
|---|---|---|
| 数据结构 | 结构化 | 非结构化(1.key/value(Redis) 2.文档类型(MongoDB)) |
| 数据关联 | 关联的(外键,维护关系) | 无关联的 |
| 查询方式 | SQL查询(SQL语句) | 非SQL(Redis:get user: 1) |
| 事务特性 | 事务(ACID原则) | 不支持事务 |
| 存储方式 | 磁盘 | 内存 |
| 扩展性 | 垂直 | 水平 |
| 使用场景 | 1.数据结构固定 2.相关业务对数据安全性、一致性要求较高 | 1.数据结构不稳定 2.对一致性、安全性要求不高 3。对性能要求较高 |
2.认识Redis
2.1 特征
- key/value(value支持多种不同的数据结构)
- 单线程,每个命令具备原子性,不具备并发风险
- 低延迟、速度快(基于内存,IO多路复用,良好的编码)
- 支持数据持久化
- 支持主从集群,分片集群
- 支持多语言客户端
3. 安装Redis
在Linux下安装
3.1 在Ubuntu中直接安装
直接安装无法设置后台运行,还是建议自己手动安装
版本比较低应该是5版本的
sudo apt-get update
sudo apt-get install redis
3.2官网下载
首先下载redis的安装包,可以去官网下载
在官网下载完成之后我们把安装包移动到/usr/local/src下
然后解压
tar -zxvf redis×××××(你的安装包的名字)
然后我们要下载gcc,因为redis是基于c++开发的
sudo apt-get install gcc
安装完成之后进入/usr/local/src下载安装redis
cd /usr/local/src/redis
make && make install
如果出现这个错误,我们可以执行这个命令
/bin/sh: 1: pkg-config: not found
sudo apt-get install pkg-config
此时在/usr/local/bin中会多这几个文件(docker那个不是)
3.3 设置快捷启动
此时直接redis-server会在前台打开redis,很不方便,我们设置在后台打开redis,所以我们要去修改配置文件
在/usr/local/src/redis中
# 先复制一下这个配置文件,防止我们把文件该坏
cp redis.conf redis.conf.bck
# 然后
vim redis.conf
# 在文件中修改这些配置
# 1.bind默认为127.0.0.1,只允许本机访问,改为0.0.0.0,任意ip地址都可以访问
bind 0.0.0.0
#2.守护进程,修改为yes之后可以后台运行
daemonize yes
#3. 设置密码,设置之后访问redis必须需要密码
requirepass 123456
其他的常见配置
配置好之后我们要设置开机自启,但是我用的是wsl,无法设置,所以我们曲线救国,写一个shell脚本
在自己的家目录下,创建一个redis-start.sh的文件
#! /bin/bash
# 先进到redis的目录,然后启动redis,同时指定配置文件
cd /usr/local/src/redis && sudo redis-server redis.conf
我们启动redis时只需要运行这个shell脚本就行
此时用top也可以查看到进程
4.使用redis-cli访问redis
直接执行命令
redis-cli [options] [commonds]
常见的options
- -h 127.0.0.1 指定要连接redis的IP地址,默认是127.0.0.1
- -p 6379 访问的redis的端口号,默认是6379
- -a 123456 设置的密码,但是redis不建议这样使用密码,说不安全(也可以,自己一个人使用的话无所谓)
commonds是命令(不常用)
- 比如ping
我们登录不指定密码,使用命令会报这样的错
我们只需要输入
auth 123456
例如,不区分大小写,出现ok说明登录成功
此时我们再ping,就会返回pong