RHCE 300分的学习笔记
nanshan 2024-11-18 15:07 7 浏览 0 评论
考试时间:2020年7月份
考试地点:武汉
考试成绩:300分
以下是复学笔记,供参考,如有问题和建议,欢迎留言!
RHCE复习笔记
隐含条件:YUM仓库已经配置,IP也已经配置
若无法使用ssh远程,说明防火墙限制了ssh登陆
# firewall-cmd --list-all
# firewall-cmd --add-service=ssh 让防火墙对ssh服务放行
## firewall-cmd --add-service=ssh --permanent 让防火墙对ssh服务永久放行
第一题:配置Selinux
:vim /etc/sysconfig/selinux
改为enforcing
:wq!
:setenforce 1 //在system1和system2上都做一次
:getenforce
第二题:配置对SSH的限制
# vim /etc/hosts.allow
sshd : .example.com
# vim /etc/hosts.deny
sshd : .my133t.org //在system1和system2上都做一次
//可以增加对SSH的规则:(man firewalld.richlanguage example4 )
: firewall-cmd --list-all
: firewall-cmd --add-rich-rule 'rule family="ipv4" source address="172.17.10.0/24" service name="ssh" reject' --permanent
: firewall-cmd --reload
: firewall-cmd --list-all
第三题:配置IPV6地址
:nmcli connection modify eth0 ipv6.addresses fddb:fe2a:ab1e::c0a8:1/64 ipv6.method manual connection.autoconnect yes
:nmcli connection up eth0 //在system1和system2上都做一次,注意两段ipv6地址不一样,也可以是:nmcli connection up eth0
用server0来测试:if
# ping6 fddb:fe2a:ab1e::c0a8:2 //server0是1,desktop是2注意下
#ping desktop0
第四题:配置链路聚合
//man nmcli-examples|grep team
// man teamd.conf | grep backup
#nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'
//config后面这个在模板中可以找到:man teamd.conf里,查找example,按N下一个,找到
"runner": {"name": "activebackup"}这个参数复制过来,即可,
参考命令:man nmcli-examples | grep team |grep \\$ man teamd.conf | grep backup
# nmcli connection modify team0 ipv4.addresses 192.168.0.101/24 ipv4.method manual connection.autoconnect yes
#nmcli connection add type team-slave con-name team0-s1 ifname eth1 master team0
#nmcli connection add type team-slave con-name team0-s2 ifname eth2 master team0
# nmcli connection modify team0-s1 connection.autoconnect yes
# nmcli connection modify team0-s2 connection.autoconnect yes
# nmcli connection show 查看一下
然后在desktop上做一样的操作
测试:
在server上ping desktop的链路地址,一直ping
在desktop上:
# teamdctl team0 state 查看当前状态是几网卡
#nmcli connection down team0-s1 //team0-s1是eth1网卡的意思
查看server0上ping是否断掉,没有断则正常
最后把team0-s1再正常启动起来,up一下。
第五题:自定义用户环境
#vim /etc/profile
alias qstat='/bin/ps -Ao pid,tt,user,fname,rsz'
#source /etc/profile
#qstat 测试一下
//也可以使用vim /etc/bashrc,使用profile在desktop0上执行source命令时候可能会报错,但是对bashrc则不会。
第六题,配置本地邮件服务
:# vim /etc/postfix/main.cf
切换到最后一行找到下面这个路径
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
新开一个端口切换进去
#cd /usr/share/doc/postfix-2.10.1/README_FILES
# vim STANDARD_CONFIGURATION_README 编辑STAN 用tab补齐
进去后输入 /null 找到下面几个配置
3 myorigin = $mydomain
4 relayhost = $mydomain
5 inet_interfaces = loopback-only
6 mydestination =
复制到/etc/postfix/main.cf的最下面,
继续在配置文件中寻找 /local ,找到下面这行
5 local_transport = error:local mail delivery is disabled 也复制过去,然后在/etc/postfix/main.cf中修改:
myorigin = example.com 修改这个域
relayhost = [classroom.example.com] 还有这个,其他不用动,记得加个中括号
inet_interfaces = loopback-only
mydestination =
local_transport = error:local mail delivery is disabled
mynetworks = 127.0.0.0/8 [::1]/128 额外添加一个网卡配置,不容易报错
:wq! 保存退出
记得两边都做一下,可以直接将这5条配置复制过去,不用修改,配置一样
#systemctl restart postfix
#systemctl enable postfix
# firewall-cmd --add-service=smtp
# firewall-cmd --add-service=smtp --permanent 最好防火墙放行一下,以免出问题
测试:
#mail -s test student@server0.example.com 这个test是邮件名称
test
test2 这两个test是随便写的邮件 按CTRL+D结束写入。
# less /var/log/maillog 查看一下,按END键,在最后面能看到这个邮件就行了。
第七题:配置端口转发,只在server0
需要用防火墙的负规则来写
#man -k rich 这个用来找富规则的模板,若找不到,使用#mandb命令更新一下,即可!
firewalld.richlanguage (5) - Rich Language Documentation
# man firewalld.richlanguage //输入example找模板,找到端口转发的模板,应该是标识为 example 5的这一行!
将模板复制
#firewall-cmd --add-rich-rule 'rule family="ipv4" source address="172.25.0.0/24" forward-port to-port="80" protocol="tcp" port="5423"'
注意 改成ipv4,题目要求的,还有用’单引号’将模板标识起来
# firewall-cmd --add-rich-rule 'rule family="ipv4" source address="172.25.0.0/24" forward-port to-port="80" protocol="tcp" port="5423"' --permanent
切记设置成自动重启的
第八题:设置samba
简单分为6步骤
1、安装服务,samba,samba-client,2、创建所需要的用户和目录,3、修改配置、4,启动服务并设置开机自启,5,设置防火墙通行,6,客户端检测
# yum -y install samba samba-client
# useradd -s /sbin/nologin rob
# smbpasswd -a rob
# mkdir /common
# semanage fcontext -a -t samba_share_t '/common(/.*)?' 更改成这个share_t类型 ,才可以访问这个目录
# getsebool -a | grep samba_e 找到这个路径
# setsebool -P samba_export_all_rw 1 -P是永久生效,1是开机自启,此步骤需要等待
# restorecon -v /common/ 查看一下,由原来的default改成了samba_share_t了
# vim /etc/samba/smb.conf
workgroup = STAFF 修改工作组, 可以直接搜索group
[common] 模板可以切换到配置文件最下面,有模板。
path = /common
browseable = yes
hosts allow = 172.25.0.0/24
# systemctl enable smb nmb
# systemctl restart smb nmb
# firewall-cmd --add-service=samba --permanent
# firewall-cmd --add-service=samba
测试:在desktop上操作
# yum -y install cifs-utils.x86_64 samba-client.x86_64
# smbclient -L //server0/common -U rob%redhat
# mkdir /tmp/common 创建一个挂载点
# mount //server0/common /tmp/common/ -o username=rob,password=redhat 测试挂载一下
# touch /tmp/common/test 创建一个文件试试,创建失败为正确,因为题目要求没有写权限
# umount /tmp/common/ 取消挂载 ,完成
注://建议要保证用户和desktop一致,以下操作可选
101 grep STAFF /etc/group
102 groupadd -r STAFF
103 id rob
104 useradd -u 1002 rob -s /sbin/nologin
105 usermod -G STAFF rob
106 mkdir /common
107 chown :STAFF -R /common/
108 chmod 2775 /common/
第九题:samba多用户
注://对齐用户和组设置,注意客户端和服务端要保持所属的ID和组一致(usermod,groupmod通过1003过渡修改)
[root@server0 ~]# id brian
id: brian: no such user
[root@server0 ~]# useradd -u 1001 -s /sbin/nologin -G STAFF brian
# mkdir /devops
# useradd -s /sbin/nologin brian
# smbpasswd -a brian
# setfacl -m u:brian:rwx /devops/
# semanage fcontext -l|grep devops
# semanage fcontext -a -t samba_share_t '/devops(/.*)?'
# restorecon -v /devops/
# vim /etc/samba/smb.conf 在最后面添加下面参数
[devops]
path = /devops
browseable = yes
write list = brian
hosts allow = 172.25.0.0/24
# systemctl restart smb nmb
接着在Desktop上操作。
# mkdir /mnt/multiuser 最好先下载samba-client 和cifs这软件 ,以免挂载不上
在server上yum下载cifs-untils文件,需要用到配置文件
# yum -y install cifs-utils.x86_64
# man mount.cifs
输出/crede 找下面这个模板
username=value
password=value
domain=value
切换回desktop
# vim /root/smb
username=rob
password=redhat
domain=STAFF
# vim /etc/fstab 其中需要的一些模板都在server上的 man mount.cifs 可以找到
//server0/devops /mnt/multiuser cifs credentials=/root/smb,sec=ntlmssp,_netdev,multiuser 0 0
#mount -a
在desktop上面测试
# su - rob
$ cifscreds add server0
$ touch /mnt/multiuser/sss
$ logout
# su - brian
$ cifscreds add server0
$ touch /mnt/multiuser/sss
$ logout
# chmod 400 /root/smb 测试,rob下不能创建,brian可以创建就是成功了
第十题:配置NFS服务
# yum -y install nfs-utils
# mkdir -p /protected/project
# mkdir /public
# chown -R ldapuser0 /protected/project
# vim /etc/exports
/public *.example.com(ro,sec=sys)
/protected *.example.com(rw,sec=krb5p,sync)
# systemctl enable nfs-server.service nfs-secure-server.service
# wget http://classroom.example.com/pub/keytabs/server0.keytab -O /etc/krb5.keytab 大写哦
# klist -k /etc/krb5.keytab 查看一下
# vim /etc/sysconfig/nfs
RPCNFSDARGS="-V 4.2" 在这一行添加 -V 4.2 ,直接在双引号中添加即可
# systemctl restart nfs-server.service nfs-secure-server.service
# firewall-cmd --add-service=nfs
# firewall-cmd --add-service=nfs --permanent
# firewall-cmd --add-service=rpc-bind --permanent
# firewall-cmd --add-service=rpc-bind
# firewall-cmd --add-service=mountd
# firewall-cmd --add-service=mountd --permanent
在desktop0上查看
# showmount -e server0
# su - ldapuser0
# kinit server0
# touch test
第十一题:客户端挂载NFS
# vim /etc/chrony.conf 确认时间同步
server classroom.example.com iburst
# systemctl restart chronyd.service
# systemctl enable chronyd
一般都是默认安装的
//在desktop0上:
# mkdir -p /mnt/nfsmount /mnt/nfssecure
# wget -O /etc/krb5.keytab http://classroom.example.com/pub/keytabs/desktop0.keytab
# klist -k /etc/krb5.keytab
# systemctl enable nfs-secure
# systemctl start nfs-secure.service
# vim /etc/fstab
server0.example.com:/public /mnt/nfsmount nfs sec=sys 0 0
server0.example.com:/protected /mnt/nfssecure nfs sec=krb5p,v4.2 0 0
# mount -a
# findmnt /mnt/nfsmount
# findmnt /mnt/nfssecure
# su - ldapuser0
$ kinit 密码是kerberos
#df -Th 看到两个目录都挂载上就是对了
//如果mount有问题,可能是时钟同步的问题,server和desktop都做一下。
第十二题:实现一个web服务器
# yum -y install httpd mod_ssl mod_wsgi 安装所需要的安装包
httpd是web,mod_ssl是安全web,mod_wsgi是动态web
# wget http://classroom.example.com/materials/station.html -O /var/www/html/index.html
# cat /var/www/html/index.html
<h1 style="color:blue"> server0.example.com</h1>
# vim /etc/httpd/conf.d/vhost-server0.conf
新开一个server0端口,找模板
# vim /etc/httpd/conf.d/ssl.conf 输入 /Vir 找到后面带着443的这个模板,
# vim /etc/httpd/conf/httpd.conf 然后在这个里面继续找模板,搜索Directory,找到这个目录
<VirtualHost _default_:80> 修改443端口为80端口
DocumentRoot /var/www/html 最好去掉引号。实际有没有 无所谓
ServerName server0.example.com
<Directory /var/www/html> 这改成指定目录
Require host example.com 这也要改一下
Require all denied
</Directory>
</VirtualHost>
:wq!
#systemctl restart httpd
#systemctl enable httpd
#firewall-cmd --add-service=http
#firewall-cmd --add-service=https
#firewall-cmd --add-service=http --permanent
#firewall-cmd --add-service=https --permanent
# curl http://server0.example.com
第十三题:配置安全web服务
再开一个server端,方便配置
# vim /etc/httpd/conf.d/ssl.conf 就这样开着不用动,千万别动
在另外一个server端操作
# cat /etc/httpd/conf.d/vhost-server0.conf > /etc/httpd/conf.d/server0-ssl.conf
这里是方便模板cp。删除一些没用的,其他的从SSL开始 都是在另外那个打开配置文件的server端里面去找模板复制
# vim /etc/httpd/conf.d/server0-ssl.conf
<VirtualHost _default_:443>
DocumentRoot /var/www/html
ServerName server0.example.com
SSLEngine on 从这开始找模板
SSLProtocol all -SSLv2 -SSLv3 多加一个v3
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
SSLHonorCipherOrder on
SSLCertificateFile /etc/pki/tls/certs/server0.crt 结尾的名字和题目上模板名字一样,比较方便
SSLCertificateKeyFile /etc/pki/tls/private/server0.key
SSLCACertificateFile /etc/pki/tls/certs/example-ca.crt
</VirtualHost>
:wq!
# cat /etc/httpd/conf.d/server0-ssl.conf
# wget http://classroom.example.com/pub/tls/certs/server0.crt -O /etc/pki/tls/certs/server0.crt
# wget http://classroom.example.com/pub/tls/private/server0.key -O /etc/pki/tls/private/server0.key
# wget http://classroom.example.com/pub/example-ca.crt -O /etc/pki/tls/certs/example-ca.crt
# chmod 600 /etc/pki/tls/private/server0.key
# systemctl restart httpd
验证:
[root@desktop0 ~]# curl http://server0.example.com -k
<h1 style="color:blue"> server0.example.com</h1>
显示出来就表示成功了
第十四题:配置虚拟主机
#mkdir /var/www/virtual
#wget http://classroom.example.com/materials/www.html -O /var/www/virtual/index.html
#useradd floyd
#setfacl -m u:floyd:rwx /var/www/virtual/
#vim /etc/httpd/conf.d/vhost-www0.conf
<VirtualHost _default_:80>
DocumentRoot /var/www/virtual
ServerName www0.example.com
<Directory /var/www/virtual>
Require all granted
</Directory>
</VirtualHost>
#systemctl restart httpd.service
#curl http://www0.example.com
能出来就对了
第十五题:配置web内容的访问
# mkdir /var/www/html/private
# wget http://classroom.example.com/materials/private.html -O /var/www/html/private/index.html
# vim /etc/httpd/conf.d/vhost-server0.conf
添加下面这些
<Directory /var/www/html/private>
Require all denied
Require local
</Directory>
# systemctl restart httpd
测试:
[root@server0 ~]# curl http://server0.example.com/private/index.html
[root@desktop0 ~]# curl http://server0.example.com/private/index.html
考试时候不确定是server0做还是www做,所以尽量都做一遍,就把上面3条命令中的html都改为virtual就可以,编辑中的html也改成virtual,重启一下httpd就可以。
第十六题:配置动态web
# mkdir -p /var/www/webapp
# wget http://classroom.example.com/materials/webinfo.wsgi -O /var/www/webapp/webinfo.wsgi
# cat /var/www/webapp/webinfo.wsgi
# semanage port -l | grep http
# semanage port -a -t http_port_t -p tcp 8908 //需要一定时间
# firewall-cmd --add-port=8908/tcp
# firewall-cmd --add-port=8908/tcp --permanent
# cat /etc/httpd/conf.d/vhost-server0.conf > /etc/httpd/conf.d/webapp.conf
# vim /etc/httpd/conf.d/webapp.conf
Listen 8908
<VirtualHost _default_:8908>
ServerName webapp0.example.com
WSGIScriptAlias / /var/www/webapp/webinfo.wsgi
</VirtualHost>
# systemctl restart httpd
# curl http://webapp0.example.com:8908 只要出结果就对,或者网页firefox也访问一下,刷新几次,显示结果不同就是对了
第十七题:创建/root/foo.sh脚本
# vim /root/foo.sh
#!/bin/bash
case $1 in
redhat)
echo "fedora"
;;
fedora)
echo "redhat"
;;
*)
echo "/root/foo.sh redhat|fedora"
;;
esac
# chmod 755 /root/foo.sh
测试:
# /root/foo.sh
/root/foo.sh redhat|fedora
# /root/foo.sh redhat
fedora
# /root/foo.sh fedora
redhat
第十八题:多用户创建脚本
:vim /root/batchusers
#!/bin/bash
if [ $# -eq 0 ];then
echo "Usage: /root/batusers userfile"
exit 1
elif [ ! -e $1 ];then
echo "Input file not found"
exit 2
else
for name in $(cat $1);
do
useradd -s /bin/false $name
echo redhat | passwd --stdin $name
done
fi
# chmod +x /root/batchusers
#wget http://classroom.example.com/materials/userlist
#cat /root/userlist 看看有没有用户名,有就是下载对了
验证:
#/root/batchusers
Usage: /root/batusers userfile
#/root/batchusers /root/user 这是个不存在的文件
Input file not found
#/root/batchusers /root/userlist 显示一大堆success就行了
第19题:配置iscsi服务端
# yum -y install targetcli.noarch
# fdisk /dev/vdb 考试应该只有vda一块盘,道理一样
n-p- +4G-t-8e-w
# partprobe
# vgcreate iscsi_store /dev/vdb1
# lvcreate -L 3G -n iscsi_store iscsi_store
# targetcli
/> ls
/> /backstores/block create iscsi_store /dev/iscsi_store/iscsi_store
/> ls
/> /iscsi create iqn.2014-11.com.example:server0
/> ls
/> cd iscsi/iqn.2014-11.com.example:server0/tpg1/
/> ls
/iscsi/iqn.20...:server0/tpg1> acls/ create iqn.2014-11.com.example:desktop0
/> ls
/iscsi/iqn.20...:server0/tpg1> luns/ create /backstores/block/iscsi_store
/> ls
/iscsi/iqn.20...:server0/tpg1> portals/ create 172.25.0.11
/> ls
/iscsi/iqn.20...:server0/tpg1> cd /
/> saveconfig
/> exit
# systemctl enable target.service
# systemctl start target.service
#firewall-cmd --add-port=3260/tcp
#firewall-cmd --add-port=3260/tcp --permanent
第20题:iscsi客户端发现
# yum -y install iscsi-initiator-utils.i686 //安装服务需要一定时间
# vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2014-11.com.example:desktop0 //这个iqn一定要和服务端的那个iqn一模一样,不然会出大问题
# systemctl enable iscsi
# systemctl start iscsi
# systemctl enable iscsid
# systemctl restart iscsid
# iscsiadm -m discovery -t st -p server0.example.com
172.25.0.11:3260,1 iqn.2014-11.com.example:server0 发现成功 //可以通过man iscsiadm /example来查找命令
# iscsiadm -m node -T iqn.2014-11.com.example:server0 -l 显示success为登陆成功,如果不显示,也是成功
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 3G 0 disk 能看到sda就对了
#mkdir /mnt/data
# fdisk /dev/sda
n-回车-回车- +2100M -w
# partprobe
# lsblk
# mkfs.ext4 /dev/sda1
# blkid /dev/sda1
/dev/sda1: UUID="dd977546-aa74-4bdf-bab5-ee0ba3f6b85d" TYPE="ext4"
# vim /etc/fstab
UUID="dd977546-aa74-4bdf-bab5-ee0ba3f6b85d" /mnt/data ext4 _netdev 0 0
#mount -a
#systemctl enable iscsi
#systemctl restart iscsi
#systemctl enable iscsid
#systemctl restart iscsid
# df -Th
如果重启不了
第一方法:
先把客户端关机,再把服务端重启一下,然后再启动客户端
第二方法
重启如果起不来,进入grub界面,和破解密码一样,在#chroot /sysroot之后,进入vim /etc/fstab后把iscsi自动挂载注释后重启。
重启后再次进行发现,登陆,lsblk,能看到挂载上来就不管了。自动挂载的注释就注释吧
第二十一题:部署数据库
# yum -y install mariadb*
# systemctl enable mariadb.service
# systemctl start mariadb.service
# firewall-cmd --add-service=mysql
# firewall-cmd --add-service=mysql --permanent
# mysql_secure_installation
回车>Y>输入题目要求的密码>全部是Y就行了
# vim /etc/my.cnf
插入一行
skip-networking=1
# systemctl restart mariadb.service
# wget http://content.example.com/courses/rhce/rhel7.0/materials/mariadb/mariadb.dump
# mysql -uroot -proot_password
> create database legacy;
> show databases;
>quit
# mysql -uroot -proot_password legacy < mariadb.dump
# mysql -uroot -proot_password
MariaDB [(none)]> use legacy;
MariaDB [legacy]> show tables;
> grant select on legacy.* to mary@'%' identified by 'mary_password';
> grant select,insert,update,delete on legacy.* to legacy@'%' identified by 'legacy_password';
> grant select on legacy.* to report@'%' identified by 'report_password';
%可以换成:localhost,如:
> grant select on legacy.* to mary@'localhost' identified by 'mary_password';
第二十二题:数据查询
MariaDB [legacy]> show tables;
MariaDB [legacy]> select * from product;
MariaDB [legacy]> select id,name from product where name='RT-AC68U';
这样会查看到数值id,然后登陆网址,将数值写上去。
MariaDB [legacy]> select * from category;
可以看到servers对应id是多少,此处对应是2
> select sum(stock) from product where id_category=2;
将数值填写即可完成
小贴士
最后先将客户端关机,关机后直接重启服务端 等服务端起来 先systemctl status nfs 先看nfs状态
等nfs状态起来后,在启动客户端
//查看日志 vim /var/logs/message 或者 tail /var.logs/message -n 40
//常见操作命令:dd 删除一行,ESC + U 撤销,G 定位到末尾
//重启操作:server 和 desktop 都用 init 6,init 6 会 保存一些系统状态
相关推荐
- 实战派 | Java项目中玩转Redis6.0客户端缓存
-
铺垫首先介绍一下今天要使用到的工具Lettuce,它是一个可伸缩线程安全的redis客户端。多个线程可以共享同一个RedisConnection,利用nio框架Netty来高效地管理多个连接。放眼望向...
- 轻松掌握redis缓存穿透、击穿、雪崩问题解决方案(20230529版)
-
1、缓存穿透所谓缓存穿透就是非法传输了一个在数据库中不存在的条件,导致查询redis和数据库中都没有,并且有大量的请求进来,就会导致对数据库产生压力,解决这一问题的方法如下:1、使用空缓存解决对查询到...
- Redis与本地缓存联手:多级缓存架构的奥秘
-
多级缓存(如Redis+本地缓存)是一种在系统架构中广泛应用的提高系统性能和响应速度的技术手段,它综合利用了不同类型缓存的优势,以下为你详细介绍:基本概念本地缓存:指的是在应用程序所在的服务器内...
- 腾讯云国际站:腾讯云服务器如何配置Redis缓存?
-
本文由【云老大】TG@yunlaoda360撰写一、安装Redis使用包管理器安装(推荐)在CentOS系统中,可以通过yum包管理器安装Redis:sudoyumupdate-...
- Spring Boot3 整合 Redis 实现数据缓存,你做对了吗?
-
你是否在开发互联网大厂后端项目时,遇到过系统响应速度慢的问题?当高并发请求涌入,数据库压力剧增,响应时间拉长,用户体验直线下降。相信不少后端开发同行都被这个问题困扰过。其实,通过在SpringBo...
- 【Redis】Redis应用问题-缓存穿透缓存击穿、缓存雪崩及解决方案
-
在我们使用redis时,也会存在一些问题,导致请求直接打到数据库上,导致数据库挂掉。下面我们来说说这些问题及解决方案。1、缓存穿透1.1场景一个请求进来后,先去redis进行查找,redis存在,则...
- Spring boot 整合Redis缓存你了解多少
-
在前一篇里面讲到了Redis缓存击穿、缓存穿透、缓存雪崩这三者区别,接下来我们讲解Springboot整合Redis中的一些知识点:之前遇到过,有的了四五年,甚至更长时间的后端Java开发,并且...
- 揭秘!Redis 缓存与数据库一致性问题的终极解决方案
-
在现代软件开发中,Redis作为一款高性能的缓存数据库,被广泛应用于提升系统的响应速度和吞吐量。然而,缓存与数据库之间的数据一致性问题,一直是开发者们面临的一大挑战。本文将深入探讨Redis缓存...
- 高并发下Spring Cache缓存穿透?我用Caffeine+Redis破局
-
一、什么是缓存穿透?缓存穿透是指查询一个根本不存在的数据,导致请求直接穿透缓存层到达数据库,可能压垮数据库的现象。在高并发场景下,这尤其危险。典型场景:恶意攻击:故意查询不存在的ID(如负数或超大数值...
- Redis缓存三剑客:穿透、雪崩、击穿—手把手教你解决
-
缓存穿透菜小弟:我先问问什么是缓存穿透?我听说是缓存查不到,直接去查数据库了。表哥:没错。缓存穿透是指查询一个缓存中不存在且数据库中也不存在的数据,导致每次请求都直接访问数据库的行为。这种行为会让缓存...
- Redis中缓存穿透问题与解决方法
-
缓存穿透问题概述在Redis作为缓存使用时,缓存穿透是常见问题。正常查询流程是先从Redis缓存获取数据,若有则直接使用;若没有则去数据库查询,查到后存入缓存。但当请求的数据在缓存和数据库中都...
- Redis客户端缓存的几种实现方式
-
前言:Redis作为当今最流行的内存数据库和缓存系统,被广泛应用于各类应用场景。然而,即使Redis本身性能卓越,在高并发场景下,应用于Redis服务器之间的网络通信仍可能成为性能瓶颈。所以客户端缓存...
- Nginx合集-常用功能指导
-
1)启动、重启以及停止nginx进入sbin目录之后,输入以下命令#启动nginx./nginx#指定配置文件启动nginx./nginx-c/usr/local/nginx/conf/n...
- 腾讯云国际站:腾讯云怎么提升服务器速度?
-
本文由【云老大】TG@yunlaoda360撰写升级服务器规格选择更高性能的CPU、内存和带宽,以提供更好的处理能力和网络性能。优化网络配置调整网络接口卡(NIC)驱动,优化TCP/IP参数...
- 雷霆一击服务器管理员教程
-
本文转载莱卡云游戏服务器雷霆一击管理员教程(搜索莱卡云面版可搜到)首先你需要给服务器设置管理员密码,默认是空的管理员密码在启动页面进行设置设置完成后你需要重启服务器才可生效加入游戏后,点击键盘左上角E...
你 发表评论:
欢迎- 一周热门
-
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
[常用工具] OpenCV_contrib库在windows下编译使用指南
-
WindowsServer2022|配置NTP服务器的命令
-
Ubuntu系统Daphne + Nginx + supervisor部署Django项目
-
WIN11 安装配置 linux 子系统 Ubuntu 图形界面 桌面系统
-
解决Linux终端中“-bash: nano: command not found”问题
-
Linux 中的文件描述符是什么?(linux 打开文件表 文件描述符)
-
NBA 2K25虚拟内存不足/爆内存/内存占用100% 一文速解
-
K3s禁用Service Load Balancer,解决获取浏览器IP不正确问题
-
- 最近发表
-
- 实战派 | Java项目中玩转Redis6.0客户端缓存
- 轻松掌握redis缓存穿透、击穿、雪崩问题解决方案(20230529版)
- Redis与本地缓存联手:多级缓存架构的奥秘
- 腾讯云国际站:腾讯云服务器如何配置Redis缓存?
- Spring Boot3 整合 Redis 实现数据缓存,你做对了吗?
- 【Redis】Redis应用问题-缓存穿透缓存击穿、缓存雪崩及解决方案
- Spring boot 整合Redis缓存你了解多少
- 揭秘!Redis 缓存与数据库一致性问题的终极解决方案
- 高并发下Spring Cache缓存穿透?我用Caffeine+Redis破局
- Redis缓存三剑客:穿透、雪崩、击穿—手把手教你解决
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)