介绍
闭源了许久redis8.0又开源了,而且新增了很多东西,不说了直接上手体验一下
官方宣称Redis 8 是迄今为止性能最强、可扩展性最高的 Redis 版本。它拥有超过 30 项性能改进,包括命令速度提升高达 87%,每秒操作吞吐量提升高达 2 倍,复制速度提升高达 18%,以及通过 Redis 查询引擎提供高达 16 倍的查询处理能力。本次发布新增了 8 种数据结构,包括向量集合 (vector set)、JSON、时间序列以及五种概率结构,包括布隆过滤器、布谷鸟过滤器、计数最小化草图、top-k 和 t-digest(其中一些之前作为单独的 Redis 模块提供)。这些新的数据结构可以帮助用户更好地解决当前用例,并为下一代快速和实时应用构建。
•布隆过滤器与布谷鸟过滤器 (Bloom filter & Cuckoo filter):用于检查给定值是否已出现在数据流中•计数最小化草图 (Count-min sketch):用于估计给定值在数据流中出现的次数•top-k:查找数据流中最频繁的值•t-digest:用于查询数据流中哪些值的比例小于 / 大于给定值
值得注意的是,Redis8.0调整了其开源协议,采用了OSI (Open Source Initiative)认证的 AGPLv3 许可证,并保留了现有的 RSALv2 和 SSPLv1 许可证选项,这一战略性的许可转变旨在重建与开源社区的信任,同时继续保护软件免受未经授权的商业利用。
下面我们来对Redis8.0的新特效一一进行详解。
官方文档:https://redis.io/blog/redis-8-ga/
Redis下载与安装指南
Redis下载地址
-
Windows版本Redis下载(GitHub):
-
官网下载(无Windows版本):
-
Redis中文网站:
-
所有版本下载:
- Redis所有版本(下载后为Linux压缩文件,需下载、解压和编译)
上传到指定目录
创建目录并下载Redis:
mkdir -p /data/redis /data/redis/install
cd /data/redis
wget https://download.redis.io/releases/redis-8.0.1.tar.gz
若报错,安装wget
:
yum install wget
解压与安装环境
解压Redis:
tar -zxf redis-8.0.1.tar.gz -C /data/redis
安装编译环境:
yum -y install gcc automake autoconf libtool make gcc-c++
若提示错误,安装jemalloc-devel
:
yum install -y jemalloc-devel
如果安装jemalloc-devel提示不正确则需要安装第三方库
#当前报错是无法安装需要额外库
yum repolist all | grep epel
#如果 EPEL 未启用,执行以下命令启用
yum install -y epel-release
yum install -y jemalloc-devel
若找不到Python目录,安装Python3:
yum install -y python3
编译安装
编译并安装Redis:
make install PREFIX=/data/redis/install
若提示包不兼容或版本错误,使用以下命令:
原因是jemalloc重载了Linux下的ANSI C的malloc和free函数,需要指定
make MALLOC=libc install PREFIX=/data/redis/install
如果编译安装还出现gcc问题则一样需要更新,我没用出现则未处理
# 查看gcc版本
gcc -v
# 升级到9.1版本
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 9.1的话:
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
检查启动
配置环境变量:
vim /etc/profile
新增以下内容:
REDIS_HOME=/data/redis
PATH=$PATH:$REDIS_HOME/bin
使配置生效:
source /etc/profile
测试启动:
测试启动-可不执行后面注册成服务后需要重新kill
redis-server /home/install/install/redis/redis-8.0.1/redis.conf
配置成服务
设置redis.conf
:
#设置后台启动,如果不是后台启动,每次推出redis就关闭了
daemonize yes
#开启密码保护,注释则不需要密码
requirepass 密码
#设置端口号
port 端口号
#允许访问的ip,改为0.0.0.0就是所有ip均可
#bind 127.0.0.1 -::1
bind 0.0.0.0
设置开机自启:
cd /usr/lib/systemd/system
touch redis.service
vi redis.service
添加以下内容:
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
# 当前需要绝对路径
ExecStart=/data/redis/install/bin/redis-server /home/install/install/redis/redis-8.0.1/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
重载系统服务并设置开机自启:
#重载系统服务
systemctl daemon-reload
#设置开机自启
systemctl enable redis.service
#取消开机自启
systemctl disable redis.service
#启动服务
systemctl start redis.service
#停止服务
systemctl stop redis.service
#查看服务状态
systemctl status redis.service
#查看是否运行
ps -aux | grep redis
#检查进程是否存在
ps -ef | grep redis
#检查端口是否监听
netstat -anlp | grep 6379
启动成功查询状态如下
防火墙配置
在防火墙添加端口:
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
关闭防火墙:
systemctl stop firewalld.service
测试Redis
连接Redis并测试:
redis-cli
#如果前面设置了密码需要输入密码
auth 你的密码
set name potato
get name
通过以上步骤,Redis的下载、安装、配置和测试即可完成。
如果需要变成哨兵或者集群模式,配置方法和原来版本一样的 。