溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

mysql緩存 (redis)

發(fā)布時間:2020-07-22 11:02:13 來源:網(wǎng)絡(luò) 閱讀:1174 作者:當當要加油 欄目:數(shù)據(jù)庫

Mysq需要注意的地方:

mysql主從復(fù)制 延遲來自于 sql線程(解決:myslq5.7 可設(shè)置成多線程并行)
數(shù)據(jù)庫監(jiān)控:lepus

大型數(shù)據(jù)庫的刪除(安全快速的方法 一部分一部分刪除)(不推薦暴力的刪除 DELETE DROP 會造成主從不一致)
expire_log_days 0 (默認數(shù)據(jù)庫不會刪除)
set global expire_logs_days=7 (設(shè)置七天后刪除)


TiDB(分布式)

數(shù)據(jù)備份一定要在slave上做 以免加重master的負擔(dān)
數(shù)據(jù)庫緩存:redisnosql的缺點:數(shù)據(jù)無法持久化因為工作在內(nèi)存 而且內(nèi)存容量有限 優(yōu)點:速度快 但redis可以數(shù)據(jù)保持 工作在內(nèi)存 數(shù)據(jù)會保存在磁盤)
讀寫分離:加代理(數(shù)據(jù)庫訪問層 proxy)

nosql數(shù)據(jù)庫可以直接連接一個redis (速度超快)
但是數(shù)據(jù)與數(shù)據(jù)之間是有關(guān)系的所以還得連接mysql:
client(KV) -->redis --(鉤子函數(shù))>mysql

高并發(fā)mysql:(肯定要走讀寫分離)
client -->中間鍵(專門開發(fā) 做分發(fā) 確認客戶需求 因為LVS不懂這些 只做轉(zhuǎn)發(fā))-->LVS(開發(fā):等價路由 擴展多個LVS)-->nginx(多個一個LVS對應(yīng)一個nginx)-->BD(cluster)


數(shù)據(jù)庫緩存:(redis)
三臺虛擬機:
dd1:(nginx php)
查看之前是否安裝過:
rpm -qa | grep php
rpm -qa | grep httpd
mysql緩存 (redis)
yum 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
mysql緩存 (redis)
netstat -antlpe | grep php
mysql緩存 (redis)
cd /etc/nginx/conf.d
vim default.conf (nginx
開啟php模塊)
mysql緩存 (redis)
nginx -t
nginx (
開啟nginx)
netstat -antlpe | grep nginx

mysql緩存 (redis)
cd /usr/share/nginx/html/
測試:nginx php是否安裝成功
mysql緩存 (redis)
dd3: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 install
cd utils
./install_server.sh
netstat –antlpe

mysql緩存 (redis)
cd /etc/redis
vim 6379.conf (
綁定監(jiān)聽端口)
 /etc/init.d/redis_6379 restart
redis-cli
mysql緩存 (redis)
dd1:
php 加載redis模塊

mysql緩存 (redis)
yum install unzip -y
unzip phpredis-master.zip
yum install php-devel-5.3.3-38.el6.x86_64.rpm
cd phpredis-master
phpize (
指定模塊安裝路徑)

mysql緩存 (redis)
./configure
make && make install

vim /etc/php.ini
(更改時區(qū))
mysql緩存 (redis)
cd /etc/php.d
cp mysql.ini redis.ini
vim redis.ini

mysql緩存 (redis)
/etc/init.d/php-fpm reload
php -m | grep redis
(查看加載模塊是否成功)
mysql緩存 (redis)
cp test.php /usr/share/nginx/html/index.php
(測試頁面)
vim /usr/share/nginx/html/index.php
mysql緩存 (redis)
scp test.sql 172.25.42.12:(redis)
(數(shù)據(jù)庫內(nèi)容)


dd3:
grant select on test.* to redis@'172.25.42.%' identified by 'westos'

mysql緩存 (redis)
select * from test

mysql緩存 (redis)
測試:
頁面測試:第一次訪問的是數(shù)據(jù)庫 第二此訪問的是cache

mysql緩存 (redis)
缺陷:如果更新mysql數(shù)據(jù)庫的內(nèi)容,cache不會察覺,里面數(shù)據(jù)內(nèi)容不會更改, 用戶訪問的時候,得到的還是緩存里面舊的內(nèi)容,只能手動刪除cache里面的舊的數(shù)據(jù) 才能重新更新
update test set name='westos'where id =1

mysql緩存 (redis)mysql緩存 (redis)


redis主從:(備份) redis是單進程的解決辦法:跑多個進程 將進程與cpu綁定
dd3:(不同服務(wù)不同端口 為了避免多開虛擬機 就在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

mysql緩存 (redis)
cd /etc/redis/
vim 6379.conf
(slaveof)

mysql緩存 (redis)
/etc/init.d/redis_6379 restart

測試:redis-cli

主從切換:(一主多從 一主雙從)
dd1:(不同服務(wù)不同端口 為了避免多開虛擬機 就在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)

mysql緩存 (redis)
/etc/init.d/redis_6379 restart

mysql緩存 (redis)
cd redis-3.2.5
cp sentinel.conf  /etc/redis
vim sentinel.conf

mysql緩存 (redis)

mysql緩存 (redis)

mysql緩存 (redis)


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 (
三臺都做) (會打開一個新的監(jiān)控端口)
查看:redis-cli -p 26379 (26379:監(jiān)控每一個端口
mysql緩存 (redis)
redis-cli
127.0.0.1:6379> monitor (master
每一秒都在給slave發(fā)包)
mysql緩存 (redis)
 


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI