網上關於redis的安裝和使用教程有很多,有很多都是相互的摘抄轉載,甚至不夠完整詳細,爲此,我在這重新整理了一篇,也爲了以後的學習、安裝、使用不再浪費查找文檔的時間。(安裝親測有效)
1.關於redis
REmote DIctionary Server(Redis) 是一個由Salvatore Sanfilippo寫的key-value存儲系統。
Redis是一個開源的使用ANSI C語言編寫、遵守BSD協議、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。
它通常被稱爲數據結構服務器,因爲值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等類型。
簡介
- Redis支持數據的持久化,可以將內存中的數據保存在磁盤中,重啓的時候可以再次加載進行使用。
- Redis不僅僅支持簡單的key-value類型的數據,同時還提供list,set,zset,hash等數據結構的存儲。
- Redis支持數據的備份,即master-slave模式的數據備份
優勢
- 性能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。
- 豐富的數據類型 – Redis支持二進制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 數據類型操作。
- 原子 – Redis的所有操作都是原子性的,意思就是要麼成功執行要麼失敗完全不執行。單個操作是原子性的。多個操作也支持事務,即原子性,通過MULTI和EXEC指令包起來。
- 豐富的特性 – Redis還支持 publish/subscribe, 通知, key 過期等等特性。
2.安裝
官網下載redis安裝包 https://redis.io/download
放到 /usr/local/package 目錄下面(可新建文件夾) , 解壓文件 :
# tar -zxvf redis-5.0.3.tar.gz
進入到解壓後的目錄 :
# cd redis-5.0.3
編譯程序:
# make
安裝到指定目錄:
# make install PREFIX=/usr/local/redis
安裝完成
這時redis已安裝完成,需將配置文件redis.conf移動到上一步的安裝目錄之下:
# mv redis.conf /usr/local/redis/etc/redis.conf
這一步需要在/usr/local/redis目下新建一個etc文件夾
移動過去之後,啓動redis服務器:
# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
注:這是用配置文件redis.conf啓動的
以上啓動只是臨時啓動,後臺運行和開機啓動需要編輯配置文件:
# vim /usr/local/redis/etc/redis.conf
將daemonize 的值改爲 yes
讓 Redis 開機啓動 :
# vim /etc/rc.local
在該配置文件中加入
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis-conf
esc +:wq 保存退出
修改完之後在運行一下
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
redis已經在後臺運行了
3.相關配置參數
/usr/local/redis/bin 目錄下的幾個文件用途 :
redis-benchmark : Redis 性能測試工具
redis-check-aof : 檢查 aof 日誌的工具
redis-check-dump : 檢查 rdb 日誌的工具
redis-cli : 連接用的客戶端
redis-server : Redis 服務進程
Redis 的配置項解析 :
daemonize : 如需要在後臺運行 , 把該項的值改爲 yes
pdifile : 把 pid 文件放在 /var/run/redis.pid , 可以配置到其他地址
bind : 指定 Redis 只接收來自該 IP 的請求 , 如果不設置 , 那麼將處理所有請求 , 在生產環節中最好設置該項
port : 監聽端口 , 默認爲 6379
timeout : 設置客戶端連接時的超時時間 , 單位爲秒
loglevel : 等級分爲 4 級 , debug , revbose , notice 和 warning , 生產環境下一般開啓 notice
logfile : 配置 log 文件地址 , 默認使用標準輸出 , 即打印在命令行終端的端口上
database : 設置數據庫的個數 , 默認使用的數據庫是 0
save : 設置 redis 進行數據庫鏡像的頻率
rdbcompression : 在進行鏡像備份時 , 是否進行壓縮
dbfilename : 鏡像備份文件的文件名
dir : 數據庫鏡像備份的文件放置的路徑
slaveof : 設置該數據庫爲其他數據庫的從數據庫
masterauth : 當主數據庫連接需要密碼驗證時 , 在這裏設定
requirepass : 設置客戶端連接後進行任何其他指定前需要使用的密碼
maxclients : 限制同時連接的客戶端數量
maxmemory : 設置redis能夠使用的最大內存
appendonly : 開啓 appendonly 模式後 , Redis 會把每一次所接收到的寫操作都追加到 appendonly.aof 文件中 , 當 Redis 重新啓動時 , 會從該文件恢復出之前的狀態
appendfsync : 設置 appendonly.aof 文件進行同步的頻率
vm_enabled : 是否開啓虛擬內存支持
vm_swap_file : 設置虛擬內存的交換文件的路徑
vm_max_momery : 設置開啓虛擬內存後 , Redis 將使用的最大物理內存的大小 , 默認爲 0
vm_page_size : 設置虛擬內存頁的大小
vm_pages : 設置交換文件的總的page數量
vm_max_thrrads : 設置 vm IO 同時使用的線程數量
widdows可視化工具的安裝和使用
下載
官網下載:https://redisdesktop.com/download
github地址:https://github.com/uglide/RedisDesktopManager/releases
建議直接百度雲盤下載:
百度網盤:http://pan.baidu.com/s/1kU8sY3P
安裝
名稱自取,redis默認安裝是沒有密碼的, host:服務器ip,端口6379
提示:
連接之前需要到雲服務器控制檯開放6379端口。
錯誤解決
1.客戶端連接時 , 提示 DENIED Redis is running in protected mode because protected mode is enabled...
- 將配置文件裏的 protected mode改爲了 no , 原本是 yes
2.客戶端連接時 , 提示 Connection refused…
- 可能是配置文件裏面的 bind 字段設置了入口 IP , 將其註釋
其間可以ping一下6379端口,看看能否ping通。
以上錯誤解決了,基本上就連的通了: