基礎知識:
1、Redis的數據類型:
字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)
2、Redis和memcache相比的獨特之處:
(1)redis可以用來做存儲(storge)、而memcache是來做緩存(cache)。這個特點主要是因為其有“持久化”功能
(2)存儲的數據有“結構”,對於memcache來說,存儲的數據,只有一種類型——“字符串”,而redis則可以存儲字符串、鏈表、集合、有序集合、哈序結構
3、持久化的兩種方式:
Redis將數據存儲於內存中,或被配置為使用虛擬內存。
實現數據持久化的兩種方式:(1)使用截圖的方式,將內存中的數據不斷寫入磁盤(性能高,但可能會引起一定程度的數據丟失)
(2)使用類似mysql的方式,記錄每次更新的日志
4、Redis的主從同步:對提高讀取性能非常有益
5、Redis服務端的默認端口是6379
下載安裝
如果的linux可以鏈接網絡,那么可以直接聯網下載。直接輸入代碼:
wget http://download.redis.io/releases/redis-3.0.2.tar.gz
官網地址:https://redis.io/download
解壓安裝:
tar xf redis-4.0.2.tar.gz
1、進入目錄:執行make命令
如需更好的觀察安裝過程,執行nohup make,通過nohup.out文件查看
如圖所示則表示安裝成功
下面進入測試階段
2、執行命令:make test
下面的錯誤是我安裝遇到的
錯誤一:
You need tcl 8.5 or newer in order to run the Redis test
解決:
# yum install tcl
錯誤二:
Killing still running Redis server 4966
Killing still running Redis server 4971
Killing still running Redis server 4976
Killing still running Redis server 4978
Killing still running Redis server 4980
Killing still running Redis server 4983
Killing still running Redis server 4990
Killing still running Redis server 4991
Killing still running Redis server 4998
Killing still running Redis server 5001
Killing still running Redis server 5014
Killing still running Redis server 5134
Killing still running Redis server 5187
Killing still running Redis server 5208
Killing still running Redis server 5224
Killing still running Redis server 5253
Killing still running Redis server 5265
make[1]: *** [test] Error 1
make[1]: Leaving directory `/opt/redis/redis-4.0.2/src'
make: *** [test] Error 2
解決:
vim tests/integration/replication-2.tcl
- after 1000
+ after 10000
3、make install PREFIX=/usr/local/redis
Hint: It's a good idea to run 'make test' ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
4、將配置文件移動到redis目錄
mkdir /usr/local/redis/etc
cp redis.conf /usr/local/redis/etc/
5、配置環境變量(以后就不需要進入redis的bin啟動服務了)
#vim /etc/profile #添加 在export PATH之前 PATH=/usr/local/redis/bin:$PATH # source /etc/profile #立即生效
6,啟動redis服務
7、默認情況,Redis不是在后台運行,需要把redis放在后台運行
#vim /usr/local/redis/etc/redis.conf //改成yes
8、客戶端連接
9、停止redis實例
redis-cli shutdown
或者
pkill redis-server
10、讓redis開機自啟
vim /etc/rc.local 加入 /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis-conf
11、接下來我們看看/usr/local/redis/bin目錄下的幾個文件是什么
redis-benchmark:redis性能測試工具
redis-check-aof:檢查aof日志的工具
redis-check-dump:檢查rdb日志的工具
redis-cli:連接用的客戶端
redis-server:redis服務進程
12、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同時使用的線程數量