一、初识Redis
1. 认识NoSQL
2. 认识Redis
- Redis诞生于2009年,全称是Remote Dictionary Server(远程词典服务器),是一个基于内存的键值型NoSQL数据库
- 特征
(1)键值(key-value)型,value支持多种不同数据结构,功能丰富
(2)单线程执行命令,所有命令是串行执行的,每个命令具备原子性,不会存在一个命令执行过程中,其他命令插入进来的情况(注意:Redis 6.0的多线程仅仅是针对网络请求处理这块,而核心的命令的执行这部分依然是单线程)
(3)低延迟,速度快(基于内存、IO多路复用、良好的编码:C语言编写)
(4)支持数据持久化,定期将内存中数据持久化到磁盘,确保数据的安全性
(5)支持主从集群、分片集群
(6)支持多语言客户端
3. 安装Redis
-
安装Redis依赖
(1)Redis是基于C语言编写的,因此首先需要安装Redis所需要的gcc依赖yum install -y gcc tcl
-
上传Redis安装包并解压、安装
(1)将redis-6.2.6.tar.gz包,上传到/usr/local/src目录下
(2)解压redis-6.2.6.tar.gz,进入解压后目录,运行编译命令,如果没有报错则安装成功tar -zxvf redis-6.2.6.tar.gzcd redis-6.2.6make && make install
(3)默认的安装路径:/usr/local/bin目录下
(4)该目录已经默认配置到环境变量中,可以在任意目录下运行这些命令
1)redis-cli:Redis提供的命令行客户端 2)redis-server:Redis的服务端启动脚本 3)redis-sentinel:Redis的哨兵启动脚本
-
启动Redis
(1)默认启动1)安装完成后,在任意目录输入redis-server命令即可启动Redis 2)这种启动属于前台启动,会阻塞整个会话窗口,窗口关闭或者按下CTRL + C,则Redis停止【不推荐使用】redis-server
(2)指定配置启动
1)修改Redis配置文件redis.conf(路径:/usr/local/src/redis-6.2.6)2)备份redis.conf cp redis.conf redis.conf.bak3)修改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 1233214)Redis的其它常见配置 # 监听的端口 port 6379 # 工作目录,默认是当前目录(哪里启动,哪里就是工作目录),也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录 dir . # 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15 databases 1 # 设置redis能够使用的最大内存 maxmemory 512mb # 日志文件,默认为空,不记录日志,可以指定日志文件名 logfile "redis.log"5)启动Redis # 进入redis安装目录 cd /usr/local/src/redis-6.2.6 # 启动 redis-server redis.conf6)停止服务 # 利用redis-cli来执行shutdown命令,即可停止Redis服务,因为之前配置了密码,因此需要通过-a来指定密码 redis-cli -a 123321 shutdown
(3)开机自启
1)新建一个系统服务文件 vim /etc/systemd/system/redis.service2)输入以下内容 [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.target3)重载系统服务 systemctl daemon-reload4)可以用下面这组命令来操作redis # 启动 systemctl start redis # 停止 systemctl stop redis # 重启 systemctl restart redis # 查看状态 systemctl status redis5)让redis开机自启 systemctl enable redis
4. Redis客户端
-
命令行客户端
-
图形化桌面客户端
(1)安装包:https://github.com/lework/RedisDesktopManager-Windows/releases -
编程客户端【后续实现】
二、Redis常见命令
1. Redis数据结构介绍
- Redis是一个key-value的数据库,key一般是String类型,但是value的类型多种多样
- Redis将操作不同数据类型的命令进行分组,在官网(https://redis.io/commands)可以查看不同命令组
- 通过help也可以查看命令分组
2. Redis通用命令
- KEYS:查看符合模板的所有key,不建议在生产环境中使用
- DEL:删除一个指定的key
- EXISTS:判断key是否存在
- EXPIRE:给一个KEY设置有效期,有效期到期时该key会被自动删除
- TTL:查看一个key的剩余有效期