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

相關文章
相關標籤/搜索