標籤:redis
1.redis持久化介紹
a.remote dictionary server
b.也是基於key-value的索引值的儲存
c.redis支援的資料類型更豐富
d.持久化快取服務,
e.支援master-slave同步 (主從同步)
2.redis特點
a.效能很高:redis能支援超過100k每秒的讀寫頻繁
b.豐富的資料類型:redis支援二進位的strings lists hashes sets 等
c.原子性:redis的所有操作都是原子性的,同時redis還支援對幾個操作全並
後的原子性執行
d.豐富的特徵:redis支援publish/subscribe。
e.redis支援異機主從複製
f.可以持久化儲存資料
3.資料類型
a.String
b.Hash
c.List
d.Set
e.Sorted set
4.redis應用情境說明 (*)
a.mysql需要不斷地拆庫拆表,memcached也需要不斷跟著擴容,擴容和維護工作佔據
大量開發營運時間
b.memcached和mysql資料庫資料一致性問題是一個老大難
c.memcached命中率很低,會導致讓後端資料庫的訪問壓力增大。
redis的最佳情境
1.redis最佳試用情境是全部資料in-memory
2.redis作為memcache的替代品來使用
3.當需要更多的資料類型支援時,可以使用redis
4.當儲存的資料不能被剔除時,使用redis
5.需要負載平衡的情境(redis主從同步)
5.redis的安裝部署
a.下載源碼包
wget http://download.redis.io/releases/redis-2-8-9.tar.gz
tar xf redis-2-8-9.tar.gz
cd redis-2-8-9
b.編譯安裝 (不需要configure)
less README
make MALLOC=jemalloc
make PREFIX=/application/redis-2.8.9 install #在安裝時指定路徑 make PREFIX=
c.加link
ln -s /application/redis-2.8.9 /application/redis
6.redis的目錄結構及檔案
d.查看目錄結構
tree /application/redis-2.8.9/bin
e.bin目錄下檔案說明
redis-server: Redis伺服器的daemon啟動程式
redis-cli : Redis命令列操作工具,當然,也可以用telnet根據純文字協議操作
redis-benchmark Redis效能測試工具,測試Redis在系統及配置下的讀寫效能
redis-check-aof: 更新日誌檢查
redis-check-dump: 用於本機資料檢查
7.啟動redis
a.配置redis的環境變數
echo ‘export PATH=/application/redis/bin:$PATH‘>>/etc/profile
source /etc/profile
b.建立redis的配置文檔案目錄
mkdir -p /application/redis/conf/
cp -apr (redis的解壓目錄) redis.conf /application/redis/conf/
c.啟動redis (redis-server )
redis-server /application/redis/conf/redis.conf &
WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add ‘vm.overcommit_memory = 1‘ to /etc/sysctl.conf and then reboot or run the command ‘sysctl vm.overcommit_memory=1‘ for this to take effect. (可能會報這個錯)
解決: echo ‘vm.overcommit_memory‘ >>/etc/sysctl.conf
sysctl vm.overcommit_memory=1
redis-server /application/redis/conf/redis.conf &
d.redis正確關閉方法
redis-cli shutdown
8.啟動redis服務及利用用戶端命令測試redis
a.串連redis (redis-cli --help查看基本使用)
redis-cli -h 127.0.0.1
b.不登入建立
redis-cli -h 127.0.0.1 -p 6379 set 001 jiahb
c.telnet方式登入
telnet 127.0.0.1 6379
9.redis多資料類型介紹
d
10.redis 的php用戶端擴充功能安裝
a.下載源碼
wget https://github.com/nicolasff/phpredis/archive/master.zip
b.解壓
tar xf phpredis2.2.4 #解壓
cd phpredis2.2.4 #切換目錄
/application/php5.3.27/bin/phpize
./configure --with-php-config=/application/php/bin/php-config
make && make install #編譯並安裝redis.so檔案
c.修改php.ini設定並重啟php
echo "extension_dir = /application/php/lib/php/extensions/no../"
echo "extension = redis.so" >> /application/php/lib/php.ini
session.save_path = "tcp://IP:6379"
pkill php-fpm
-
/application/php/sbin/php-fpm
http://IP:8080 可以查看redis的擴充是否安裝正常。
11.redis設定檔介紹及主從同步配置
a.查看設定檔
vim /application/redis/conf/redis.conf
b.關鍵參數
port 6379 監聽連接埠
tcp-keeplive 40 會話保持
loglevel warnning 記錄層級
databases 16 設定資料庫數量
save 900 1 900秒有一個key變化,則儲存
save 300 10 300秒有一個key變化,則儲存
slaveof <masterip> <masterport> 主從複製的配置9
12.監控redis資料庫寫入
1.redis-cli -h 127.0.0.1 -p 6379 monitor 監視redis資料庫的寫及變化
2.redis-cli -h 127.0.0.1 -p 6379 info #查看redis的狀態資訊
3.redis-cli -h 127.0.0.1 -p 6379 info Replication #查看redis主從複製情況
13.Redis負載平衡的應用
1.
redis基本使用