安裝redis的方式
-yum (刪除這個yum安裝的redis,咱們只用源碼編譯安裝的)
-rpm
-源碼編譯html
刪除本來的redis
yum remove redis -ylinux
解壓縮
tar -zxf redis-4.0.10.tar.gzredis
切換redis源碼目錄
cd redis-4.0.10數據庫
默認在/usr/local/bin緩存
指定redis的配置文件 啓動 redis
redis-6666.conf 內容以下app
port 6666 #redis端口 daemonize yes #後臺運行redis pidfile /data/6666/redis.pid # pid號碼 loglevel notice #日誌等級 logfile "/data/6666/redis.log" #日誌文件存放路徑 dir /data/6666 #redis數據目錄 requirepass haohaio #redis的密碼
指定配置文件啓動redis服務端
redis-server redis-6666.confide
檢查redis的進程,端口
ps -ef |grep redis
netstat -tunlp |grep redis學習
登陸redis數據庫
redis-cli -p 6666
登陸後 輸入密碼纔可訪問
auth haohaioui
rdb持久化還有時間策略
save 900 1 # 秒 1個修改類的操做
save 300 10 # 秒 10個操做
save 60 10000 # 秒 10000個操做日誌
使用rdb持久化的方式,在配置文件中,打開rdb持久化
cat redis-6666.conf
內容以下
port 6666 daemonize yes pidfile /data/6666/redis.pid loglevel notice logfile "/data/6666/redis.log" dir /data/6666 dbfilename redis.dump
關閉redis服務端,準備重啓
redis-cli -p 6666 -a haohaio shutdown
使用新的支持rdb持久化的配置文件啓動
redis-server redis-6666.conf
手動觸發rdb持久化
經過save指令
讓配置文件支持按期持久化
port 6666 daemonize yes pidfile /data/6666/redis.pid loglevel notice logfile "/data/6666/redis.log" dir /data/6666 dbfilename redis.dump save 900 1 #rdb機制 每900秒 有1個修改記錄 save 300 10 #每300秒 10個修改記錄 save 60 10000 ~
配置redis支持aof持久化
cat redis-6666.conf
內容以下
port 6666 daemonize yes pidfile /data/6666/redis.pid loglevel notice logfile "/data/6666/redis.log" dir /data/6666 appendonly yes appendfsync everysec
指定配置文件啓動,支持aof
redis-server redis-6666.conf 在第一次啓動的時候,就開啓了aof持久化
不重啓redis,切換rdb數據到aof數據中
準備一個rdb的redis數據庫
port 6666 daemonize yes pidfile /data/6666/redis.pid loglevel notice logfile "/data/6666/redis.log" dir /data/6666 dbfilename redis.dump save 900 1 save 300 10 save 60 10000
啓動redis支持rdb的數據庫
設置redis的數據,手動save觸發持久化,生成持久化數據文件
經過命令,切換持久化模式
127.0.0.1:6379> CONFIG set appendonly yes #開啓AOF功能
OK
127.0.0.1:6379> CONFIG SET save "" #關閉RDB功能
OK
修改redis的配置文件,改成aof,便於之後重啓,徹底切換到aof模式
redis-6666.conf內容以下
port 6666 daemonize yes pidfile /data/6666/redis.pid loglevel notice logfile "/data/6666/redis.log" dir /data/6666 appendonly yes appendfsync everysec
實驗完畢
redis-server redis.conf
PUBLISH channel msg
將信息 message 發送到指定的頻道 channel
SUBSCRIBE channel [channel ...]
訂閱頻道,能夠同時訂閱多個頻道
UNSUBSCRIBE [channel ...]
取消訂閱指定的頻道, 若是不指定頻道,則會取消訂閱全部頻道
PSUBSCRIBE pattern [pattern ...]
訂閱一個或多個符合給定模式的頻道,每一個模式以 * 做爲匹配符,好比 it* 匹配所 有以 it 開頭的頻道( it.news 、 it.blog 、 it.tweets 等等), news.* 匹配全部 以 news. 開頭的頻道( news.it 、 news.global.today 等等),諸如此類
注意:使用發佈訂閱模式實現的消息隊列,當有客戶端訂閱channel後只能收到後續發佈到該頻道的消息,以前發送的不會緩存,必須Provider和Consumer同時在線。
博客地址:
http://www.javashuo.com/article/p-ufazueso-co.html 博客彙總
http://www.javashuo.com/article/p-cglbaabl-eh.html redis