1.redis持久化介紹
a.remote dictionary server
b.也是基于key-value的鍵值的存儲
c.redis支持的數(shù)據(jù)類型更豐富
d.持久化緩存服務(wù),
e.支持master-slave同步 (主從同步)
2.redis特點
a.性能很高:redis能支持超過100k每秒的讀寫頻繁
b.豐富的數(shù)據(jù)類型:redis支持二進(jìn)制的strings lists hashes sets 等
c.原子性:redis的所有操作都是原子性的,同時redis還支持對幾個操作全并
后的原子性執(zhí)行
d.豐富的特征:redis支持publish/subscribe。
e.redis支持異機主從復(fù)制
f.可以持久化存儲數(shù)據(jù)
3.數(shù)據(jù)類型
a.String
b.Hash
c.List
d.Set
e.Sorted set
4.redis應(yīng)用場景說明 (*)
a.MySQL需要不斷地拆庫拆表,memcached也需要不斷跟著擴容,擴容和維護(hù)工作占據(jù)
大量開發(fā)運維時間
b.memcached和mysql數(shù)據(jù)庫數(shù)據(jù)一致性問題是一個老大難
c.memcached命中率很低,會導(dǎo)致讓后端數(shù)據(jù)庫的訪問壓力增大。
redis的最佳場景
1.redis最佳試用場景是全部數(shù)據(jù)in-memory
2.redis作為memcache的替代品來使用
3.當(dāng)需要更多的數(shù)據(jù)類型支持時,可以使用redis
4.當(dāng)存儲的數(shù)據(jù)不能被剔除時,使用redis
5.需要負(fù)載均衡的場景(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的目錄結(jié)構(gòu)及文件
d.查看目錄結(jié)構(gòu)
tree /application/redis-2.8.9/bin
e.bin目錄下文件說明
redis-server: Redis服務(wù)器的daemon啟動程序
redis-cli : Redis命令行操作工具,當(dāng)然,也可以用telnet根據(jù)純文本協(xié)議操作
redis-benchmark Redis性能測試工具,測試Redis在系統(tǒng)及配置下的讀寫性能
redis-check-aof: 更新日志檢查
redis-check-dump: 用于本地數(shù)據(jù)檢查
7.啟動redis
a.配置redis的環(huán)境變量
echo 'export PATH=/application/redis/bin:$PATH'>>/etc/profile
source /etc/profile
b.創(chuàng)建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正確關(guān)閉方法
redis-cli shutdown
8.啟動redis服務(wù)及利用客戶端命令測試redis
a.連接redis (redis-cli --help查看基本使用)
redis-cli -h 127.0.0.1
b.不登錄創(chuàng)建
redis-cli -h 127.0.0.1 -p 6379 set 001 jiahb
c.telnet方式登錄
telnet 127.0.0.1 6379
9.redis多數(shù)據(jù)類型介紹
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設(shè)置并重啟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.關(guān)鍵參數(shù)
port 6379 監(jiān)聽端口
tcp-keeplive 40 會話保持
loglevel warnning 日志級別
databases 16 設(shè)置數(shù)據(jù)庫數(shù)量
save 900 1 900秒有一個key變化,則保存
save 300 10 300秒有一個key變化,則保存
slaveof
12.監(jiān)控redis數(shù)據(jù)庫寫入
1.redis-cli -h 127.0.0.1 -p 6379 monitor 監(jiān)視redis數(shù)據(jù)庫的寫及變化
2.redis-cli -h 127.0.0.1 -p 6379 info #查看redis的狀態(tài)信息
3.redis-cli -h 127.0.0.1 -p 6379 info Replication #查看redis主從復(fù)制情況
13.Redis負(fù)載均衡的應(yīng)用
1.
專注于為中小企業(yè)提供做網(wǎng)站、網(wǎng)站設(shè)計服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)煙臺免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。