centos7.x下环境搭建(四)—redis安装

redis介绍

redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它经过提供多种键值数据类型来适应不一样场景下的存储需求,目前为止redis支持的键值数据类型以下字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)html

redis的应用场景 

  • 缓存(数据查询、短链接、新闻内容、商品内容等等)。(最多使用)
  • 分布式集群架构中的session分离。
  • 聊天室的在线好友列表。
  • 任务队列。(秒杀、抢购、12306等等) 
  • 应用排行榜。 
  • 网站访问统计。 
  • 数据过时处理(能够精确到毫秒)

yum安装redis

  1. 安装
#检查是否有redis yum 源
yum install redis
#下载fedora的epel仓库
yum install epel-release
#安装redis数据库
yum install redis
  1. 安装完毕后,使用下面的命令启动redis服务
# 启动redis
service redis start
# 中止redis
service redis stop
# 查看redis运行状态
service redis status
# 查看redis进程
ps -ef | grep redis
  1. 设置redis为开机自动启动
chkconfig redis on
  1. 进入redis服务
# 进入本机redis
redis-cli
# 列出全部key
keys *
  1. 防火墙开放相应端口
# 开启6379
/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT
# 开启6380
/sbin/iptables -I INPUT -p tcp --dport 6380 -j ACCEPT
# 保存
/etc/rc.d/init.d/iptables save
# centos 7下执行
service iptables save

修改redis默认端口和密码

一、打开配置文件mysql

vi /etc/redis.conf

二、修改默认端口,查找 port 6379 修改成相应端口便可nginx

三、修改默认密码,查找 requirepass foobared 将 foobared 修改成你的密码redis

四、使用配置文件启动 redissql

redis-server /etc/redis.conf &

五、使用端口登陆数据库

redis-cli -h 127.0.0.1 -p 6179

六、输入刚才输入的密码centos

auth 111

八、中止redis缓存

考虑到 Redis 有可能正在将内存中的数据同步到硬盘中,强行终止 Redis 进程可能会致使数据丢失。正确中止Redis的方式应该是向Redis发送SHUTDOWN命令,
当Redis收到SHUTDOWN命令后,会先断开全部客户端链接,而后根据配置执行持久化,最后完成退出。
Redis能够妥善处理 SIGTERM信号,因此使用 kill Redis 进程的 PID也能够正常结束Redis,效果与发送SHUTDOWN命令同样。安全

方式1:命令方式关闭redis
redis-cli -h 127.0.0.1 -p 6179
shutdown

方式2:进程号杀掉redis
ps -ef | grep redis
kill -9 XXX

3、使用redis desktop manager远程链接redis

一、访问以下网址下载redis desktop manager
https://redisdesktop.com/download
二、安装后启动,新建一个链接
三、填写以下信息后点击“Test Connection”测试是否链接成功服务器

四、若是长时间链接不上,可能有两种可能性

  a)bind了127.0.01:只容许在本机链接redis

  b)protected-mode设置了yes(使用redis desktop manager工具须要配置,其他不用)

  解决办法:

# 打开redis配置文件
vi /etc/redis.conf
# 找到 bind 127.0.0.1 将其注释
# 找到 protected-mode yes 将其改成
protected-mode no

五、重启redis

service redis stop
service redis start

六、再次链接便可

问题总结

一、redis经过6379端口没法链接服务器

使用netstat -tlnp查看端口,能够看到6379对应的是127.0.0.1,因此致使远程客户端没法链接

Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      1770/redis-server 1 
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1542/nginx: master  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1216/sshd           
tcp6       0      0 :::3306                 :::*                    LISTEN      1013/mysqld

解决:

一、清除iptables规则

#查看iptables规则
iptables -L -n
#清除所有iptables规则
iptables -F

二、修改redis.conf配置文件将bind 127.0.0.1改成bind 0.0.0.0

vi /etc/redis.conf
#bind 127.0.0.1
bind 0.0.0.0

以后重启redis

#命令方式关闭redis
redis-cli -h 127.0.0.1 -p 6179
shutdown

#进程号杀掉redis
ps -ef | grep redis
kill -9 XXX

三、阿里云添加安全组规则,添加6379端口

参考阅读

http://www.javashuo.com/article/p-ckhpzjea-o.html
http://www.javashuo.com/article/p-pemojfms-dg.html

相关文章
相关标签/搜索