1.nginx的高可用
准备服务器:
(1)准备两台nginx服务器. 192.168.223.147 192.168.223.148 必须安装了nginx
(2) 需要在每一个nginx服务器上安装 keepalived
yum install keepalived 安装keepalived
rpm -q -a keepalived 检查是否安装keepalived
默认安装路径: /etc/keepalived
(3)修改keepalived的配置文件内容
把上面修改好的内容,分别放到keepalived目录下替换原来的配置
(4)nginx——check.sh脚本文件
分别在两台服务器上放入指定目录
分别启动--keepalived
systemctl start keepalived.service
开启两台nginx服务
访问虚拟ip
/usr/soft/nginx/sbin/nginx -s stop systemctl stop keepalived.service
2.redis非关系型数据库【重要】
2..1 非关系型数据库
NoSql: [Not Only Sql不仅仅是sql]. 它是对所有非关系型数据库的一种统称。非关系数据库它们之间不存在任何的关联关系。 它的数据结构: key-value模式--而且数据也可以持久化到磁盘上。
常见的非关系数据库的种类:
redis: 典型的非关系数据库
mogodb: 它是介于关系型和非关系之间。
hbase: 数据库【海量数据】
2.2 什么是redis
Redis是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。Redis提供数据结构,例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,地理空间索引和流。Redis具有内置的复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区提供了高可用性。
redis它是一个开源的数据库,缓存的服务器,它里面可以存放字符串,hash,列表,集合数据类型的数据,它的计算基于内存进行计算的。而且数据也可以持久化到磁盘中。 而且它也提高了哨兵模式以及集群模式来提高redis的可用性。
2.3 redis特点 【为什么使用】
1.Redis读取的速度是110000次/s,写的速度是81000次/s
2.原子 。Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
---影响redis性能的因素:内存而不是多线程
3.支持多种数据结构:string(字符串);list(列表);hash(哈希),set(集合);zset(有序集合)
4.持久化--磁盘--防止数据丢失
5.官方不支持window系统,但是又第三方版本。 linux系统。
2.4 如何安装redis
使用c语言编写的一款软件。
1.安装redis需要的环境。yum install -y gcc-c++
2.解压redis压缩文件 tar -zxvf xxx.tar.gz
3.进入解压目录 并进行编译和安装
make
make install
4.启动redis服务
redis-server redis.conf
5.启动redis服务
redis-cli -h ip -p port
-h:表示连接redis服务所在的ip
-p:表示连接redis服务的端口号
redis-cli: 表示连接本地的redis服务
2.5 简单对redis配置文件redis.conf了解
259 daemonize no(yes): 设置redis服务启动时是否为守护进程
98 port 6379 修改redis的服务的端口号
75 bind * -::* 设置允许哪些ip连接redis服务器
2.6 redis也提供了客户端界面
注意: 必须redis服务端设置了允许任意ip连接
2.7 redis中常用的命令
redis-cli -p 6380
2.7.1关于对key操作的命令
keys *: 查看redis中所有的key
exists key: 判断指定的key是否存在。存在返回1 否则返回0
del key: 删除指定的key
expire key seconds: 为指定的key设置过期时间。
2.7.2关于库的命令:
默认redis中存在16个库。
select n: 选中库 n=0~15
flushdb: 清空当前数据库
flushall: 清空所有库的数据
2.7.3 redis支持数据类型中常用命令
redis中存放的数据类型非常多,而我们使用最多的: 字符串类型,Hash类型,List队列类型, Set集合类型, SortSet有序集合类型。
1)支持字符串类型
redis存储数据的格式: key--value格式。 这里的key都是string类型,而我们说的redis支持的类型。指的是value的数据类型。存放的大小512M.
set key value: 存储字符串类型的value.
get key: 根据key获取对应的value字符串值。
mset key value key value ...: 存储多个字符串类型的value
mget key key key...:获取多个key对应的value字符串值
setnx key value: 如果存在指定key,则不存入,如果不存在则存入。
incr key: 对指定的key的value值进行递增。key对应的value必须为整型字符串
decr key: 对指定的key的value值进行递减。
incrby key number: 按照number值进行递增
Append key:如果key已经存在是一个字符串,APPEND命令将value追加到key原来的值的末尾