[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>
獲取命令幫助c++
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 OK
get:獲取數據redis
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 ##查看鍵的類型 string
192.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個庫 OK
192.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持久化配置vim
[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實例的資源性能是很是重要的緩存
避免內存交換服務器