mysql本身缓存 Redis_mysql缓存 (redis)

需要注意的地方:

mysql主从复制 延迟来自于 sql线程(解决:myslq5.7 可设置成多线程并行)

数据库监控:lepus

大型数据库的删除(安全快速的方法 一部分一部分删除)(不推荐暴力的删除 DELETE DROP 会造成主从不一致)

expire_log_days 0(默认数据库不会删除)

set global expire_logs_days=7 (设置七天后删除)

TiDB(分布式)

数据备份一定要在slave上做 以免加重master的负担

数据库缓存:redis(nosql的缺点:数据无法持久化因为工作在内存 而且内存容量有限 优点:速度快 但redis可以数据保持 工作在内存 数据会保存在磁盘)

读写分离:加代理(数据库访问层 proxy)

nosql数据库可以直接连接一个redis (速度超快)

但是数据与数据之间是有关系的所以还得连接mysql:

client(KV) -->redis --(钩子函数)>mysql

高并发mysql:(肯定要走读写分离)

client -->中间键(专门开发 做分发 确认客户需求 因为LVS不懂这些 只做转发)-->LVS(开发:等价路由 扩展多个LVS)-->nginx(多个一个LVS对应一个nginx)-->BD(cluster)数据库缓存:(redis)三台虚拟机:

dd1:(nginx php)

查看之前是否安装过:

rpm -qa | grep php

rpm -qa | grep httpd

cface983cbee5ca68e294337121027bf.pngyum install -y nginx-1.8.0-1.el6.ngx.x86_64.rpm

rpm -ivh php-cli-5.3.3-38.el6.x86_64.rpm php-common-5.3.3-38.el6.x86_64.rpm

rpm -ivh php-mysql-5.3.3-38.el6.x86_64.rpmphp-pdo-5.3.3-38.el6.x86_64.rpm

yum install php-5.3.3-38.el6.x86_64.rpm

cd /etc/php-fpm.d

vim www.conf (更改用户名用户组 nginx)

/etc/init.d/php-fpm start

8573c720428c7a100f2045e9d990a4fd.pngnetstat -antlpe | grep php

7689a9567f2cdc450ffa852840137122.pngcd /etc/nginx/conf.d

vim default.conf (nginx开启php模块)

5ce3815fa7ff9d992bcea300e6ddaa3f.pngnginx -t

nginx (开启nginx)

netstat -antlpe | grep nginx

21d7e3e56384bc6df288c0ca67674774.pngcd /usr/share/nginx/html/测试:nginx php是否安装成功

5e1f8ec4fb134435c24578c28c11fbcc.pngdd3:yum install mysql-server -y (版本太低 只适合测试用)

/etc/init.d/mysqld start

dd1:scp redis-3.2.5.tar.gz root@172.25.42.11:

dd2:

tar zxf redis-3.2.5.tar.gz

cd redis-3.2.5

make && make installcd utils

./install_server.shnetstat –antlpe

ab9e0d4d9e1240e269cce0034a8a51b6.pngcd /etc/redis

vim 6379.conf (绑定监听端口)/etc/init.d/redis_6379 restart

redis-cli

c08438eb81e17ee50c8fe33b84ff75cc.pngdd1:(php加载redis模块)

0249701374d22e4da7590e13d895e2fe.pngyum install unzip -y

unzip phpredis-master.zip

yum install php-devel-5.3.3-38.el6.x86_64.rpm

cd phpredis-master

phpize (指定模块安装路径)

1b1dd577290fd9e63c40a425ad002765.png./configure

make && make install

vim /etc/php.ini(更改时区)

c8eda82e973fba95c1a0b072c6f99d9b.pngcd /etc/php.d

cp mysql.ini redis.ini

vim redis.ini

1477bc858fc64c801343570188997fd3.png/etc/init.d/php-fpm reload

php -m | grep redis(查看加载模块是否成功)

651f8700cb93e75ac5dc63413f853cfd.pngcp test.php /usr/share/nginx/html/index.php(测试页面)

vim /usr/share/nginx/html/index.php

19ce0fcffccb442b845e8bb5fd8cda17.pngscp test.sql 172.25.42.12:(redis)(数据库内容)

dd3:

grant select on test.* to redis@‘172.25.42.%‘ identified by ‘westos‘

22a136023c36bcc7f05299da295de4ae.pngselect * from test

2f8deb473664c142149460ca156d8f62.png测试:

页面测试:第一次访问的是数据库 第二此访问的是cache

0061fb1b8c5084a944ff9b2aa7895d8b.png缺陷:如果更新mysql数据库的内容,cache不会察觉,里面数据内容不会更改, 用户访问的时候,得到的还是缓存里面旧的内容,只能手动删除cache里面的旧的数据 才能重新更新update test set name=‘westos‘where id =1

d5f00f3bbae11f77f00a61eb32d9948e.png

5cb3a715b64817b0857ec1f51cedbdce.png

redis主从:(备份) redis是单进程的解决办法:跑多个进程 将进程与cpu绑定

dd3:(不同服务不同端口 为了避免多开虚拟机 就在dd3上面做啦~)

tar zxf redis-3.2.5.tar.gz

cd redis-3.2.5

make && make install (yum install gcc -y)

cd utils/

./install_server.sh

36c997b84157e1217bcbd64568694c6c.pngcd /etc/redis/

vim 6379.conf(slaveof)

50a6b651ce45181dc4aa1ddd498bcb01.png/etc/init.d/redis_6379 restart

测试:redis-cli

主从切换:(一主多从 一主双从)

dd1:(不同服务不同端口 为了避免多开虚拟机 就在dd1上面做啦~)

tar zxf redis-3.2.5.tar.gz

cd redis-3.2.5

make && make install (yum install gcc -y)

cd utils/

./install_server.sh

cd /etc/redis/

vim 6379.conf (slaveof)

534bbf6791615f55282570f4117fcb6c.png/etc/init.d/redis_6379 restart

8854038bd5fe149b5a79d112cc53d302.pngcd redis-3.2.5

cp sentinel.conf  /etc/redis

vim sentinel.conf

6a294fe231f11010bcb443b6cb826815.png

6d3589bb8297ca3890bdb66ce1548e00.png

f6e9a483e909f6b2fb6886e26cafcc66.png

scp sentinel.conf root@172.25.42.12:/etc/redis/

scp sentinel.conf root@172.25.42.11:/etc/redis/

redis-server /etc/redis/sentinel.conf --sentinel (三台都做) (会打开一个新的监控端口)查看:redis-cli -p 26379 (26379:监控每一个端口

3f37f75b2f3d22d32896a8c3413f7af1.pngredis-cli

127.0.0.1:6379> monitor (master每一秒都在给slave发包)

16eaf5b9fac0ec536234490f47f7ca11.png

mysql缓存 (redis)

标签:mysql 缓存 redis

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://12117148.blog.51cto.com/12107148/1912605

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值