1、构建memcached服务
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
0代表不压缩 180 在内存只存活180s 3个字符大小的数据
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不存在则报错
get 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
systemctl restart php-fpm.service
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
最后也要设置登录数据库的密码