[root@localhost ~]# yum install gcc gcc-c++ make -y //安裝環境組件
[root@localhost ~]# mount.cifs //192.168.100.3/LNMP-C7 /mnt/ //掛載軟件包
Password for root@//192.168.100.8/LNMP-C7:
[root@localhost ~]# cd /mnt/
[root@localhost mnt]# tar zxvf redis-5.0.7.tar.gz -C /opt/ //解壓
[root@localhost mnt]# cd /opt/redis-5.0.7/
[root@localhost redis-5.0.7]# make //編譯
[root@localhost redis-5.0.7]# make PREFIX=/usr/local/redis/ install //安裝
[root@localhost redis-5.0.7]# cd utils/
[root@localhost utils]# ./install_server.sh //執行腳本進行配置
Welcome to the redis service installer
This script will help you easily set up a running redis server
Please select the redis port for this instance: [6379] //默認端口號
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf] //配置文件存放位置
Selected default - /etc/redis/6379.conf
Please select the redis log file name [/var/log/redis_6379.log] //日志文件存放位置
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379] //數據文件存放位置
Selected default - /var/lib/redis/6379
Please select the redis executable path [] /usr/local/redis/bin/redis-server //可執行文件路徑
[root@localhost utils]# ln -s /usr/local/redis/bin/* /usr/local/bin/ //制作鏈接文件便于系統識別
[root@localhost utils]# netstat -ntap | grep 6379 //查看端口是否開啟
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 44510/redis-server
[root@localhost utils]# /etc/init.d/redis_6379 stop //關閉redis命令
Stopping ...
Redis stopped
[root@localhost utils]# /etc/init.d/redis_6379 start //開啟redis命令
Starting Redis server...
[root@localhost utils]# vim /etc/redis/6379.conf //修改配置文件
bind 127.0.0.1 192.168.144.128 //配置監聽地址
[root@localhost utils]# /etc/init.d/redis_6379 restart //重啟redis服務
Stopping ...
Redis stopped
Starting Redis server...
[root@localhost utils]# /usr/local/redis/bin/redis-cli
127.0.0.1:6379>[root@localhost utils]# redis-cli -h 192.168.144.128 -p 6379
192.168.144.128:6379>獲取命令幫助
192.168.144.128:6379> help set ##help幫助
SET key value [expiration EX seconds|PX milliseconds] [NX|XX]
summary: Set the string value of a key
since: 1.0.0
group: string
192.168.144.128:6379> set teacher zhangsan
OK
192.168.144.128:6379> set tea red
OKget:獲取數據
192.168.144.128:6379> get tea ##查看鍵的值
"red"
127.0.0.1:6379> keys * //查看當前數據庫中所有的鍵
127.0.0.1:6379> keys V* //查看當前數據庫中以v開頭的鍵
127.0.0.1:6379> keys v? //查看當前數據庫中以v開頭后面包含任意一個字符的鍵
127.0.0.1:6379> keys v?? //查看當前數據庫中以v開頭后面包含任意二個字符的鍵
192.168.144.128:6379> KEYS * ##查看所有的鍵
1) "teacher"
2) "tea"
192.168.144.128:6379> keys t?? ##查看鍵是t開頭后面是兩個字符的
1) "tea"192.168.144.128:6379> EXISTS tea
(integer) 1 //1是存在
192.168.144.128:6379> EXISTS teas
(integer) 0 //0是不存在192.168.144.128:6379> del teacher ##刪除鍵
(integer) 1
192.168.144.128:6379> KEYS *
1) "tea"192.168.144.128:6379> type tea ##查看鍵的類型
string192.168.144.128:6379> rename tea t1 ##給鍵重命名
OK
192.168.144.128:6379> keys *
1) "t1"
192.168.144.128:6379> get t1
"red"192.168.144.128:6379> dbsize
(integer) 1[root@localhost utils]# redis-benchmark -h 192.168.144.128 -p 6379 -c 100 -n 100000 //并發100,100000個請求
====== SET ======
100000 requests completed in 1.14 seconds //請求花費的時間
100 parallel clients
3 bytes payload
keep alive: 1
84.66% <= 1 milliseconds
98.48% <= 2 milliseconds
99.69% <= 3 milliseconds
99.90% <= 18 milliseconds
100.00% <= 18 milliseconds
87642.41 requests per second
====== GET ======
100000 requests completed in 1.144 seconds
100 parallel clients
3 bytes payload
keep alive: 1
[root@localhost utils]# redis-benchmark -h 192.168.144.128 -p 6379 -q -d 100 //以字節形式指定set/get值的數據大小
SET: 90497.73 requests per second
GET: 90991.81 requests per second
192.168.144.128:6379> select 10 //進入第11個庫
OK
192.168.144.128:6379[10]> keys *
(empty list or set)
192.168.144.128:6379[10]> select 0 //進入第1個庫
OK192.168.144.128:6379> move t1 10 //移動鍵值對到第11個庫
(integer) 1
192.168.144.128:6379> select 10 //進入第11個庫
OK
192.168.144.128:6379[10]> keys * //查看鍵
1) "t1"
192.168.144.128:6379[10]> get t1
"red"192.168.144.128:6379[10]> flushdb //清除庫中數據
OK
192.168.144.128:6379[10]> keys * //查看所有鍵
(empty list or set)
AOF方式:將執行的寫命令寫到文件的末尾,以日志的方式來記錄數據的變化
配置文件選項
[root@localhost utils]# vim /etc/redis/6379.conf
save 900 1 //900秒之內至少一次寫操作
save 300 10 //300秒之內至少發生10次寫操作
save 60 10000 //60秒之內發生至少10000次寫操作;只要滿足其一都會觸發快照操作,注釋所有的save項表示關閉RDB
dbfilename dump.rdb //備份文件名稱
dir /var/lib/redis/6379 //備份文件保存目錄
rdbcompression yes //開啟壓縮
AOF持久化配置
[root@localhost utils]# vim /etc/redis/6379.conf
appendonly yes //開啟AOF持久化
appendfilename "appendonly.aof" //AOF文件名稱
# appendfsync always //always:同步持久化,每次發生數據變化會立刻寫入磁盤
appendfsync everysec //everysec:默認推薦,每秒異步記錄次(默認值)
# appendfsync no //no:不同步,交給操作系統決定如何同步
aof-load-truncated yes //忽略最后一條可能存在問題的指令
[root@localhost utils]# vim /etc/redis/6379.conf
no-appendfsync-on-rewrite no
//在日志進行BGREWRITEAOF時, 如果設置為yes表示新寫操作不進行同步fsync,只暫存在緩沖區里,避免造成磁盤I0操作沖突,等重寫完成后在寫入。redis中默認為no
auto-aof-rewrite-percentage 100
//當前AOF文件大小是上次日志重寫時AOF文件大小兩倍時,發生BGREWRITEAOF操作
auto-aof-rewrite-min-size 64mb
//當前AOF文件執行BGREWRITEAOF命令的最小值,避免剛開始啟動Reids時由于文件尺寸較小導致頻繁的BGREWRITEAOF
[root@localhost utils]# /usr/local/redis/bin/redis-cli
127.0.0.1:6379> info memory
跟蹤內存碎片率對理解redis實例的資源性能是非常重要的
避免內存交換
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。