环境
【阿里云centos7.6操作系统;yum方式;redis-3.2.12; firewalld防火墙默认关闭;需要在安全组开启相关端口6379】
【用yum方式安装的redis版本比较老都是3.2.12,如果需要高版本的需要用irpm源或者源码安装
】
查看redis是否正常启动必须用命令systemctl status redis.server查看,如果启动失败用命令netstat -anpt|grep redis查看时也会显示有redis正在运行。
注意:配置文件的注释需要放在单独的一行,不可以放在命令行后面
systemctl status firewalld.service查看防火墙状态
# uname -a
Linux iZ8vb0ywcounjc3oh3rv2jZ 3.10.0-862.14.4.el7.x86_64
#1 SMP Wed Sep 26 15:12:11 UTC 2018
x86_64 x86_64 x86_64 GNU/Linux
Linux - 内核名
audit - 主机名
2.6.18-128.el5 - 内核版本
#1 SMP Wed Jan 21 10:41:14 ....2009 - 内核编译日期
x86_64 - 操作系统版本
x86_64 - 处理器类型
x86_64 - 硬件平台
(以上3 个可能顺序不对,都是一样的不要区别,x86_64表示64位的)
GNU/Linux - 操作系统
# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.6.1810 (Core)
Release: 7.6.1810
Codename: Core
注意:
需要开放安全组端口6379
登陆方式:redis-cli -h 主机ip -p 端口
日志路径:/var/log/redis/redis.log
- 设置Redis的仓库地址
# yum install epel-release -y
- 安装redis
# yum -y install redis
默认安装目录:配置文件在/etc/redis.conf;服务器和客户端在 /usr/bin/redis-server redis-cli
whereis redis //可以查看配置文件在哪
# whereis redis
redis: /etc/redis.conf
- 修改配置文件vim /etc/redis.conf
#监听所有的IP地址(61行)
bind 127.0.0.1注释掉为#bind 127.0.0.1
#设置为守护进程(128行)
daemonize no 改为 daemonize yes
#设置密码(480行)
requirepass 密码也可以在命令界面设置密码:
redis 127.0.0.1:6379> config set requirepass 密码
#最大物理内存设置(537行)在真实环境必须部署,否则物理内存会被耗尽。一般配置200mb/500mb/1gb/2gb。配置了最大内存 maxmemory 之后记得配置过期删除策略
maxmemory 200mb
#过期删除策略volatile-lru -> (542行)根据LRU算法生成的过期时间来删除。
# allkeys-lru -> (543行)根据LRU算法删除任何key。
# volatile-random -> (544行)根据过期设置来随机删除key。
# allkeys->random ->(545行) 无差别随机删。
# volatile-ttl ->(546行) 根据最近过期时间来删除(辅以TTL) # noeviction -> 谁也不删,直接在写操作时返回错误。
maxmemory-policy(560行)
volatile-lru
设置日志的属组属主为redis,启动redis后才会自动出现redis.log文件,所以需要先创建
#touch /var/log/redis/redis.log
#chown redis.redis /var/log/redis/redis.log
- 启动redis
#service redis start (这个不好使,这是centos6里的命令centos7里不适用)
或者指定配置文件启动redis-server /etc/redis.conf
本机redis启动命令
#systemctl restart redis
关闭redis
#systemctl stop redis
- 设置开机自动启动
设置为开机自启
# systemctl enable redis.service
查看redis的自启动状态
# systemctl list-unit-files |grep redis
redis-sentinel.service disabled
redis.service enabled
这条命令是redis集群才用的单独的redis是不需要的,在这个项目中,不需要只为以后做准备。
# systemctl enable redis.service redis-sentinel.service
Created symlink from /etc/systemd/system/multi-user.target.wants/redis-sentinel.service to /usr/lib/systemd/system/redis-sentinel.service.
# systemctl list-unit-files |grep redis
redis-sentinel.service enabled
redis.service enabled
# vim /usr/lib/systemd/system/redis.service
[Service] Type=forking //不加这句回一直重启【不好使,这条以后不用,废弃掉,留在此处只为提个醒】
- 查看版本
# redis-server -v
Redis server v=3.2.12 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=7897e7d0e13773f
- 测试启动redis-cli
Auth 密码
ping 返回PONG,启动成功
- redis-cli 启动redis客户端
redis-cli -h 主机ip -p 端口
或者
redis-cli,之后输入auth+空格+密码