Linux Operation學習------Memcached/Redis
NoSQL 基於內存存儲(包括:memcached;redis;mongodb)
[memcached 內存數據庫,重啟,關機數據丟失 預分配內存,更快]
[redis 基於內存,持久化存儲,數據類型更多]
yum -y install memcached.x86_64 telnet
systemctl start memcached
netstat -anptu | grep mem (端口號:11211)
/etc/sysconfig/memcached (配置文件)
因為沒有客戶端連接數據庫工具,需要使用telnet
telnet 127.0.0.1 11211
set name 0 180 3 #定義變量,變量名稱為name
plj //輸入變量的值,值為plj
STORED
get name //獲取變量的值
VALUE name 0 3 //輸出結果
plj
END
add myname 0 180 10 //新建,myname不存在則添加,存在則報錯
set myname 0 180 10 //添加或替換變量
replace myname 0 180 10 //替換,如果myname不存在則報錯
append myname 0 180 10 //向變量中追加數據
delete myname //刪除變量
stats //查看狀態
flush_all //清空所有
quit //退出登錄
memcached是沒有連接數據庫能能力,需要擴展包,就像php去連接mariadb一樣,因此需要安裝
yum list | grep mem
yum -y install php-pecl-memcache
cp lnmp_soft/html/mem.php /usr/local/nginx/html/ #預先準備好的php頁面
客戶端測試:firefox http://192.168.4.5/mem.php
Session:會話信息,存儲在服務器端,保存用戶名,密碼等信息
Cookie:客戶端信息,由服務器下發給客戶端,保存在客戶端的一個文件中,內容包括SessionID,
帳號名,過期時間,路徑和域。
2、Tomcat+Session
讓tomcat讀寫用戶信息(session)都在memcached上
web1,web2做同樣的操作
[root@web1 ~]# cd lnmp_soft/session/
[root@web1 session]# cp context.xml /usr/local/tomcat/conf/ #預先做好的配置文件
[root@web1 session]# cp *.jar /usr/local/tomcat/lib/ #讓Java能夠連接memcached
[root@web1 ~]# vim /usr/local/tomcat/conf/context.xml #告訴tomcat memcached在什麽位置
memcachedNodes="mem1:192.168.2.5:11211" #要保持兩個web的memcached的名字一致
[root@Web1 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@Web1 ~]# /usr/local/tomcat/bin/startup.sh
systemctl start memcached
3、源碼安裝Redis緩存服務
[root@Web1 ]# tar -xf redis-3.0.6.tar.gz
[root@Web1 redis-3.0.6]# cd redis-3.0.6/
[root@Web1 redis-3.0.6]# yum -y install gcc
[root@Web1 redis-3.0.6]# make
[root@Web1 redis-3.0.6]# make install
[root@Web1 redis-3.0.6]# cd utils/ #該目錄下官方自帶腳本
[root@Web1 utils]# ./install_server.sh
Selected config:
Port : 6379 #默認端口
Config file : /etc/redis/6379.conf #配置文件
Log file : /var/log/redis_6379.log #日誌文件
Data dir : /var/lib/redis/6379 #數據文件
Executable : /usr/local/bin/redis-server #Redis服務器軟件存儲路徑
Cli Executable : /usr/local/bin/redis-cli
[root@Web1 utils]# redis-benchmark #性能測試
1)使用redis-cli客戶端工具連接Redis服務器並測試緩存數據庫。
測試ping
命令幫助help (set)
2)Hash表常見操作指南
3)List列表(使用:所有歷史記錄)
4)ttl 變量 (-1 永不過期 -2 已經過期)#查看變量過期時間
具體命令可u在網上搜索,此處不一 一列舉
4、配置Redis主從服務器
4.1修改主服務器/etc/redis/6379.conf配置文件
save 900 1 #900s檢查一次 1個數據改變就保存
save 300 10 #300s檢查一次 10個數據改變就保存
save 60 10000 #60s 檢查一次 10000個數據改變就保存
4.2主服務器配置:
[root@web1 ~]# vim /etc/redis/6379.conf
requirepass 123456 #設置主服務器密碼
/etc/init.d/redis_6379 restart #重啟服務
設置密碼之後,重新加載後,再次關服務無法關掉
vim /etc/init.d/redis_6379 #打開腳本設置
CLIEXEC=/usr/local/bin/redis-cli #開關服務變量
$CLIEXEC -p $REDISPORT -a 123456 shutdown #加入設置的密碼
[root@web1 ~]# redis-cli -a 123456 #輸入密碼登陸
4.3從服務器配置:
[root@web2 ~]# vim /etc/redis/6379.conf
slaveof 192.168.2.100 6379 #主服務器的IP和端口
masterauth 123456 #連接主服務器的密碼
/etc/init.d/redis_6379 restart
最後也要設置登錄數據庫的密碼
Linux Operation學習------Memcached/Redis