基礎知識: 1、Redis的數據類型: 字元串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)2、Redis和memcache相比的獨特之處: (1)redis可以用來做存儲(storge)、而memcache是來做緩存(cache)。這個特點主要是因為 ...
基礎知識:
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 加入 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同時使用的線程數量