介绍
redis是一个基于内存的非关系型hash存储数据库,其提供强大的数据结构和高效的API。我们日常使用其作为数据库缓存和session共享存储使用。当然他还可以做很多的事情,排行榜,计数器,日志统计,地理空间,消息队列等等。。。。
本文介绍redis6|7版本的linux下安装,Linux下的redis是基于epoll的IO多路复用。不同的操作系统的提供不同的处理socket方法。虽也有windows版本的redis,但IOCP看看就好,而且官网早已不维护,最新版本貌似为2016年的3.x。其他发行版本也可参考本文。
下载
官网地址 https://redis.io
国内地址
注:偶数为稳定版本,6.x部分稳定版本BUG明显,生产环境请谨慎
环境准备
- VMware® Workstation 16 Pro
- centos7.9
- redis7.0.12
- xshell
- xftp
- 如使用云主机仅需准备redis安装包和远程工具即可
编译安装
#curl或wget均可 下载源码包
curl -O https://packages.redis.io/redis-stack/redis-stack-server-6.2.6-v9.rhel7.x86_64.tar.gz
# wget https://packages.redis.io/redis-stack/redis-stack-server-6.2.6-v9.rhel7.x86_64.tar.gz
# 安装编译工具
sudo yum -y install gcc g++ gcc-c++
# 进入自己下载目录并解压 推荐/usr/local/ 或/opt/
mv ./redis-6.0.6.tar.gz /usr/local/
# 移动并重命名
cd /usr/local/ && tar zxvf redis-6.0.6.tar.gz
mv redis-6.0.6 redis6
# 进入目录编译安装
# 注意编译安装过程中如报错请检查报错再安装对应版本依赖即可
cd /usr/local/redis6/src
make && make install
# 给予目录权限
chown -R redis.redis /usr/local/redis7/
redis7.x | 6.x文件目录结构大致相同
-rw-rw-r-- 1 redis redis 51 Apr 17 20:54 BUGS
-rw-rw-r-- 1 redis redis 5027 Apr 17 20:54 CODE_OF_CONDUCT.md
-rw-rw-r-- 1 redis redis 2634 Apr 17 20:54 CONTRIBUTING.md
-rw-rw-r-- 1 redis redis 1487 Apr 17 20:54 COPYING
drwxrwxr-x 7 redis redis 4096 Jun 14 20:40 deps
-rw-rw-r-- 1 redis redis 11 Apr 17 20:54 INSTALL
-rw-rw-r-- 1 redis redis 151 Apr 17 20:54 Makefile
-rw-rw-r-- 1 redis redis 6888 Apr 17 20:54 MANIFESTO
-rw-rw-r-- 1 redis redis 22441 Apr 17 20:54 README.md
-rw-rw-r-- 1 redis redis 106679 Jun 22 17:22 redis.conf
-rwxrwxr-x 1 redis redis 279 Apr 17 20:54 runtest
-rwxrwxr-x 1 redis redis 283 Apr 17 20:54 runtest-cluster
-rwxrwxr-x 1 redis redis 1613 Apr 17 20:54 runtest-moduleapi
-rwxrwxr-x 1 redis redis 285 Apr 17 20:54 runtest-sentinel
-rw-rw-r-- 1 redis redis 1695 Apr 17 20:54 SECURITY.md
-rw-rw-r-- 1 redis redis 14005 Apr 17 20:54 sentinel.conf
drwxrwxr-x 4 redis redis 12288 Jun 22 01:19 src
-rw-rw-r-- 1 redis redis 3055 Apr 17 20:54 TLS.md
drwxrwxr-x 8 redis redis 4096 Apr 17 20:54 utils
# 以下为常用可执行文件如果部分版本不能全局调用,可创建链接至 /usr/local/bin/ 方便全局调用
# 这里不同版本可能会有些许不同,新版本安装过程会自动创建常用命令至/usr/local/bin/
./redis-cli #客户端
./redis-server #服务端
./redis-check-aof #内置aof检查修复
./redis-sentinel #哨兵启动
./redis-check-rdb #内置rdb检查修复
./redis-benchmark #压测工具
启动测试
# 启动命令 必选参数为配置文件
# 默认为前台启动 命令行阻塞
/usr/local/redis6/src/redis-server /usr/local/redis6/etc/redis.conf
添加系统管理
添加至 /lib/systemd/system/redis.service
或 /etc/systemd/system
方便后期systemctl服务管理
# 示例文件可根据需求更改 启动命令为必选项
[Unit]
Description=redis
After=network.target
[Service]
Type=forking
PIDFile=/var/run/redis6_6379.pid
ExecStart=/usr/local/redis6/src/redis-server /usr/local/redis6/etc/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
测试添加系统服务管理
systemctl enable redis.service
systemctl start redis
systemctl status redis
配置文件基础修改 建议先备份原文件
mv redis.conf redis.conf.backup
默认配置文件两千多行,不熟悉并不是很好修改。可以直接去注释新写
[root@node01 redis7]# cat redis.conf | wc -l
2279
[root@node01 redis7]# grep -Ev "^#|^$" /usr/local/redis7/redis.conf.backup >/usr/local/redis.conf
# 记得修改权限,避免一些乌干达的错误
# 保护模式关闭
protected-mode no
# 指定端口
port 6379
# 守护进程模式启动(即为后台启动,不会被普通操作中断)
daemonize yes
# ip绑定 ,填写你的客户端ip 搭建学习直接注释掉果奔也行
bind xxx xxx
# 打开rdb持久化
save "xxx xxx"
# 开启aof持久化
appendonly yes
# 设置密码 PWD为密码
requirepass PWD
# 日志文件 默认为空
logfile /var/log/redis7_6379.log
启动redis 服务
systemctl start redis.service
查看端口进程
[root@node01 redis7]# ps -ef | grep redis
polkitd 2221 2199 0 Jul13 ? 00:16:39 redis-server *:6379
[root@node01 redis7]# ss -ntulp | grep redis
tcp LISTEN 0 128 *:6379 *:* users:(("redis-server",pid=2221,fd=6))
tcp LISTEN 0 128 [::]:6379 [::]:* users:(("redis-server",pid=2221,fd=7))
################################
# 若启动失败先检查端口是否占用
# systemctl查看服务失败原因
# 查看conf中设置的日志文件
################################
登录客户端
# 客户端参数很多,不会的自己查手册
redis-ci -h host -p port -s socket -a pwd -c
reids-cli -a pwd
# 一套三连
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> get k1 v1
"v1"
127.0.0.1:6379> ping
PONG
# 打完收工
注:手册地址
官网地址 https://redis.io/docs/getting-started/
国内镜像 http://www.redis.cn/documentation.html
**加粗样式**
798

被折叠的 条评论
为什么被折叠?



