1.Redis概述
文章目录
1.1 什么是Redis
Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供测试数据,50个并发
执行100000个请求,读的速度是110000次/s,写的速度是81000次/s ,且Redis通过提供多种键值数据类
型来适应不同场景下的存储需求,目前为止Redis支持的键值数据类型如下:
- 字符串类型 string
- 散列类型 hash
- 列表类型 list
- 集合类型 set
- 有序集合类型 sortedset
1.2 Redis的应用场景
- 缓存(数据查询、商品库存等)
- 任务队列(商品秒杀、抢购、12306等)
- 网站访问统计
- 数据过期处理(可以精确到毫秒)
- 分布式集群架构中的session分离
2.Linux下Redis的安装与使用
2.1 Redis下载
1.官方下载:https://redis.io/downloads/
通过wget
命令直接下载redis,省去上传的麻烦
yum -y install wget
wget https://download.redis.io/releases/redis-6.2.9.tar.gz
2.安装gcc 9编译器
因为是编译官方的redis源码进行使用,redis是采用c语言编写,所以我们要使用gcc编译器对redis进行编译
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
注意:
以上的命令需要全程保持联网状态,因为需要联网安装下载源和gcc相关的安装包
在执行第二条命令的时候会有error:Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64
问题的原因是:CentOS7的SCL源在2024年6月30日停止维护了。当SCL源里面默认使用了centos官方的地址,无法连接,需要替换为阿里云
- 解决办法:
1)重命名原来的文件
cd /etc/yum.repos.d/ mv CentOS-SCLo-scl.repo CentOS-SCLo-scl.repo.bak mv CentOS-SCLo-scl-rh.repo CentOS-SCLo-scl-rh.repo.bak
2)编辑文件并保存
vim CentOS-SCLo-scl-rh.repo
需要粘贴的内容:
[centos-sclo-rh] name=CentOS-7 - SCLo rh baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
原文连接:https://blog.csdn.net/xcdm100/article/details/140713208
3.解压并编译已下载的redis安装包
解压到/home
路径下
tar -zxvf tar -zxvf redis-6.2.9.tar.gz -C /home
进入redis根目录
cd /home/redis-6.2.9/
编译redis源码
make
注意:
遇到问题:zmalloc.h:50:10: fatal error: jemalloc/jemalloc.h: 没有那个文件或目录
解决办法:使用以下命令编辑
make MALLOC=libc
成功编译
2.2 Redis的启动
进入redis目录下的src目录
cd /home/redis-6.2.9/src
启动redis服务器
./redis-server
启动成功(默认端口:6379)
启动过程中如果遇到问题:# Failed listening on port 6379 (TCP), aborting.
是因为端口号被占用
可以使用命令:
ps -ef | grep redis
查看端口使用情况,杀死这个端口:kill -9 端口号
,再使用命令:./redis-server
启动即可成功
2.3 Redis配置
配置redis后台启动并设置连接密码
vim /home/redis-6.2.9/redis.conf
输入::/daemon*
查找daemon*的位置
将no修改为yes:daemonize yes
后台启动
设置连接密码为123456:requirepass 123456
启动redis,需要让其根据配置文件启动
./redis-server /home/redis-6.2.9/redis.conf
查看是否启动
ps -ef | grep "redis*"
查看端口6379占用情况
netstat -anp|grep 6379
如果想要停止redis服务
./redis-cli -a 123456 shutdown
2.4 连接Redis
./redis-cli -h 127.0.0.1 -p 6379 -a 123456
-h
:代表连接的主机
-p
:代表连接的端口号
-a
:代表密码
./redis-cli -p 6379 -a 123456