一、redis相關
什麼是redis
Redis是用c語言開發的一個開源的高性能鍵值對(key-value數據庫),它通過提供多種鍵值數據類型來適應不同的場景下的存儲需求,目前Redis支持的鍵值對數據類型如下:
- 字符串數據類型
- 散列數據類型
- 列表數據類型
- 集合類型
- 有序集合類型
redis的應用場景
- 緩存(數據查詢、短鏈接、新聞內容、商品內容等等)(用的最多)
- 聊天室在線聊天列表
- 任務隊列(秒殺、搶購)
- 應用排行榜
- 網站訪問統計
- 數據過期處理
- 分佈式集羣架構中的session分離
二、Redis的安裝
linux服務器CentOS7,下載redis安裝包:地址:http://www.redis.cn/download.html
1.解壓源碼
tar -zxvf redis-4.0.11.tar.gz
2.進入解壓目錄進行編譯安裝
#進入解壓目錄
cd /root/software
mv redis-4.0.11 /usr/local/redis
#進行編譯安裝,安裝到指定目錄
make install PREFIX=/usr/local/redis
配置
修改拷貝過來的redis.conf文件
cd /usr/local/redis
vim redis.conf
1.將port端口修改爲8084(默認是6379,可以自定義,強烈建議修改,不用默認端口)
2.將daemonize yes修改爲yes,這樣可以從後端啓動
3.將bind設置爲0.0.0.0(我設置成這樣是爲了可以方便jedis的訪問,因爲redis的這個bind綁定的是可以訪問的ip地址)
啓動
前端啓動
直接運行bin/redis-server將以前端模式啓動,前端模式啓動的缺點是ssh命令窗口關閉則redis-server程序結束,不推薦使用此方法。
後端啓動(推薦)
./bin/redis-server ./redis.conf
#查看redis進程相關信息
ps -ef|grep redis
停止
- 強制殺死進程
#查詢redis對應的pid
ps aux|grep -i redis
kill -9 pid
2. 正常停止
cd /usr/local/redis
./bin/redis-cli shutdown
測試
redis-cli -h ip地址 -p 是redis自帶的基於命令行的Redis客戶端
#進入redis的bin目錄,運行
./redis-cli
#ping測試客戶端與Redis的鏈接是否正常,如果連接正常會受到pong
127.0.0.1:6379> ping
PONG
#set/get,使用set和get想redis設置數據、獲取數據
127.0.0.1:6379> set a 1
OK
127.0.0.1:6379> get a
"1"
#key *,查看當前庫中的所有key值
127.0.0.1:6379> key *
三、開機服務啓動設置
1、拷貝 redis相關文件
cp /usr/local/redis-4.0.2/utils/redis_init_script /etc/init.d/redis
2、修改/etc/init.d/redis 文件,修改redis文件安裝目錄
vim redis
REDISPORT=8084
EXEC=/usr/local/redis/bin/redis-server
CLIEXEC=/usr/local/redis/bin/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
#CONF="/etc/redis/${REDISPORT}.conf"
CONF="/usr/local/redis/redis.conf"
3、開機啓動設置,執行一下命令:
- 查看是否已有redis服務:
chkconfig --list
- 若沒有,則添加redis服務:
chkconfig --add redis
- 設爲開機啓動 :
chkconfig redis on
4、驗證是否設置成功:
- 打開redis命令:
service redis start
- 關閉redis命令:
service redis stop
- 查看相關進程
ps -ef|grep redis
四、回馬槍
- 接下來我們看看/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同時使用的線程數量