Day42-企业级网络存储NFS01

Day42-企业级网络存储NFS01

  • 1. 什么是NFS?
  • 2. 为什么要用网络共享存储?
  • 3. 共享存储的种类
  • 4. NFS工作原理
  • 5. 环境准备
  • 6. NFS软件列表
  • 7. 安装
  • 8. 配置nfs
  • 9. 项目实践作业:
  • 10. ()权限 对应参数
  • 11. 在生产中配置NFS的重要技巧:
  • 12. 项目实践2:

1. 什么是NFS?

全称 network file system 网络文件系统
通过【网络】存储和组织文件的一种方法或机制。

  1. 什么是文件系统?
    ext4,xfs就是文件系统,存储和组织文件的一种方法或机制,就是一个软件。本地文件系统。
    数据组织结构,目录,子目录,文件。
  2. 网络存储
    通过【网络】存储和组织文件的一种方法或机制。

2. 为什么要用网络共享存储?

前端所有的应用服务器接收到用户上传的图片、文件、视频,都会统一的放到后端的存储上。
为什么要共享?所有节点服务器都需要将内容存到存储上,取的统一来取。

3. 共享存储的种类

传统存储:
早期简存储系统就是NFS,NFS性能不太高。单点,大规模高并发的访问。5000万PV/日PV
中小型企业,阿里云服务的NAS服务

大型存储厂商:EMC、Netapp 几十万。
艺龙旅行网 存储用的EMC 传统企业。

硬件存储:传统企业:稳定、2台 双主机头 几十块硬盘 RAID10。
BAT 曾经用硬件,超贵、
阿里云 去IOE Ibm Orace EMC

分布式存储:为高并发、大数据量而生
大型企业会用分布式存储FastDFS、Ceph、GlsterFS、Mfs
对象存储:
阿里云OSS对象存储。
块存储:

4. NFS工作原理

NFS网络文件系统
启动NFS服务,而且还有启动很多端口。
NFS功能,需要很多服务。每个服务都有端口,而且经常变化。
如何让客户端找到这些端口呢?就需要一个经纪人(rpc服务)

NFS服务:
1、NFS服务(有很多进程和端口),把自己的端口告诉RPC。
2、RPC服务(对外固定端口111)

客户端请求NFS服务,先找RPC 111,查到NFS的端口,发给客户。
原理见图:

在这里插入图片描述

在这里插入图片描述

5. 环境准备

服务器系统服务器角色内外网IP
CentOS 7.9 x86_64NFS服务器端(nfs01)eth0:10.0.0.31 eth1:172.16.1.31 ====>主角
CentOS 7.9 x86_64NFS客户端1(web01)eth0:10.0.0.7 eth1:172.16.1.7
CentOS 7.9 x86_64NFS客户端2(backup)eth0:10.0.0.41 eth1:172.16.1.41
[root@nfs01 ~]# cat /etc/redhat-release 
CentOS Linux release 7.9.2009 (Core)
[root@nfs01 ~]# uname -r
3.10.0-1160.31.1.el7.x86_64
[root@nfs01 ~]# uname -m
x86_64
[root@nfs01 ~]# uname -n
nfs01
[root@nfs01 ~]# uname -a
Linux nfs01 3.10.0-1160.31.1.el7.x86_64 #1 SMP Thu Jun 10 13:32:12 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

6. NFS软件列表

要部署NFS服务,需要安装下面的软件包:

  • nfs-utils :NFS服务的主程序,包括rpc.nfsd、rpc.mountd这两个daemons和相关文档说明,以及执行命令文件等。
  • rpcbind :CentOS6/7下面RPC主程序。NFS可视为一个RPC程序,在启动任何一个RPC程序之前,需要做好端口和功能的对应映射工作,这个映射工作就是由rpcbind服务来完成的。因此,在提供NFS服务之前必须先启动rpcbind服务才行。

7. 安装

服务器端和客户端都要安装:

rpm -qa nfs-utils rpcbind
yum install nfs-utils rpcbind -y
rpm -qa nfs-utils rpcbind [root@nfs01 ~]# rpm -qa nfs-utils rpcbind
nfs-utils-1.3.0-0.61.el7.x86_64
rpcbind-0.2.0-47.el7.x86_64

启动RPC

[root@nfs01 ~]# systemctl start rpcbind.service 
[root@nfs01 ~]# systemctl enable rpcbind.service 
[root@nfs01 ~]# systemctl list-unit-files|grep rpcbind.service 

看看有没有注册的端口

[root@nfs01 ~]# rpcinfo -p 127.0.0.1program vers proto   port  service100000    4   tcp    111  portmapper100000    3   tcp    111  portmapper100000    2   tcp    111  portmapper100000    4   udp    111  portmapper100000    3   udp    111  portmapper100000    2   udp    111  portmapper

启动NFS

[root@nfs01 ~]# systemctl start nfs
[root@nfs01 ~]# systemctl enable nfs
[root@nfs01 ~]# systemctl list-unit-files|grep nfs.service

看看有没有注册的端口


[root@nfs01 ~]# rpcinfo -p 127.0.0.1program vers proto   port  service100000    4   tcp    111  portmapper100000    3   tcp    111  portmapper100000    2   tcp    111  portmapper100000    4   udp    111  portmapper100000    3   udp    111  portmapper100000    2   udp    111  portmapper100024    1   udp  44521  status100024    1   tcp  59204  status100005    1   udp  20048  mountd100005    1   tcp  20048  mountd100005    2   udp  20048  mountd100005    2   tcp  20048  mountd100005    3   udp  20048  mountd100005    3   tcp  20048  mountd100003    3   tcp   2049  nfs100003    4   tcp   2049  nfs100227    3   tcp   2049  nfs_acl100003    3   udp   2049  nfs100003    4   udp   2049  nfs100227    3   udp   2049  nfs_acl100021    1   udp  55758  nlockmgr100021    3   udp  55758  nlockmgr100021    4   udp  55758  nlockmgr100021    1   tcp  30472  nlockmgr100021    3   tcp  30472  nlockmgr100021    4   tcp  30472  nlockmgr[root@nfs01 ~]# netstat -lntup|egrep "rpc|nfs"
tcp        0      0 0.0.0.0:20048           0.0.0.0:*      LISTEN      9516/rpc.mountd     
tcp        0      0 0.0.0.0:59204           0.0.0.0:*      LISTEN      9463/rpc.statd      
tcp6       0      0 :::20048                :::*           LISTEN      9516/rpc.mountd     
tcp6       0      0 :::14450                :::*           LISTEN      9463/rpc.statd      
udp        0      0 0.0.0.0:44521           0.0.0.0:*                  9463/rpc.statd      
udp        0      0 0.0.0.0:20048           0.0.0.0:*                  9516/rpc.mountd     
udp        0      0 0.0.0.0:695             0.0.0.0:*                  9424/rpcbind        
udp        0      0 127.0.0.1:735           0.0.0.0:*                  9463/rpc.statd      
udp6       0      0 :::20048                :::*                       9516/rpc.mountd     
udp6       0      0 :::695                  :::*                       9424/rpcbind        
udp6       0      0 :::4835                 :::*                       9463/rpc.statd [root@nfs01 ~]# ps -ef|egrep "rpc|nfs"
rpc       50335      1  0 16:54 ?        00:00:00 /sbin/rpcbind -w
rpcuser   51012      1  0 16:56 ?        00:00:00 /usr/sbin/rpc.statd      #<==检查文件一致性
root      51019      2  0 16:56 ?        00:00:00 [rpciod]
root      51027      1  0 16:56 ?        00:00:00 /usr/sbin/rpc.idmapd     #<==名称映射进程
root      51037      1  0 16:56 ?        00:00:00 /usr/sbin/rpc.mountd     #<==权限管理验证
root      51043      2  0 16:56 ?        00:00:00 [nfsd4_callbacks]
root      51049      2  0 16:56 ?        00:00:00 [nfsd]          #<==NFS主进程,管理登入ID身份判别等
...省略若干...
root      51056      2  0 16:56 ?        00:00:00 [nfsd]
root      52178   1162  0 16:59 pts/0    00:00:00 grep -E --color=auto rpc|nfs

8. 配置nfs

NFS配置文件 /etc/exports

[root@nfs01 ~]# man exports
EXAMPLE
sample /etc/exports file/               master(rw) trusty(rw,no_root_squash)/projects       proj*.local.domain(rw)/usr            *.local.domain(ro) @trusted(rw)/home/joe       pc001(rw,all_squash,anonuid=150,anongid=100)/pub            *(ro,insecure,all_squash)/srv/www        -sync,rw server @trusted @external(ro)/foo            2001:db8:9:e54::/64(rw) 192.0.2.0/24(rw)/build          buildhost[0-9].local.domain(rw)【待共享的目录】    允许访问的主机(权限) 允许访问的主机(权限)
  1. 待共享的目录 存东西的目录 取东西的目录例如:/data
  2. 访问的主机,
    172.16.1.7(web01) 单个主机
    172.16.1.0/24 网段
    172.16.1.* 网段
    master 主机名(DNS A解析 轮询)
  3. ()权限
    rw 可读写 read write
    ro 只读 read only
    sync 写到磁盘才算完成,安全、慢
    async 异步写到远程缓冲区,快、不安全

实践:

[root@nfs01 ~]# tail -1 /etc/exports
/data 172.16.1.0/24(rw,sync)[root@nfs01 ~]# mkdir -p /data
[root@nfs01 ~]# ls -ld /data
drwxr-xr-x 2 root root 51 416 10:24 /data

重启NFS

[root@nfs01 ~]# systemctl reload nfs #《==生产场景必须要实现平滑重启。
[root@nfs01 ~]# exportfs -r

上述二者等价,选一个即可。

NFS默认用户【nfsnobody】

[root@nfs01 ~]# grep nfsno /etc/passwd
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin#如果没有就创建
[root@nfs01 ~]# groupadd -g 65534 nfsnobody
[root@nfs01 ~]# useradd nfsnobody -u 65534 -g nfsnobody -s /sbin/nologin -M
[root@nfs01 ~]# id nfsnobody
uid=65534(nfsnobody) gid=65534(nfsnobody)=65534(nfsnobody)
#授权
[root@nfs01 ~]# chown -R nfsnobody.nfsnobody /data
[root@nfs01 ~]# ls -ld /data
drwxr-xr-x 2 nfsnobody nfsnobody 51 416 10:24 /data[root@nfs01 ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24   #《==看到共享的目录了

服务单本地测试挂载:

[root@nfs01 ~]# mount -t nfs 172.16.1.31:/data /mnt
[root@nfs01 ~]# df -h
文件系统           容量  已用  可用 已用% 挂载点
/dev/sda3           19G  1.8G   18G   10% /
devtmpfs           476M     0  476M    0% /dev
tmpfs              487M     0  487M    0% /dev/shm
tmpfs              487M  7.6M  479M    2% /run
tmpfs              487M     0  487M    0% /sys/fs/cgroup
/dev/sda1          253M  136M  118M   54% /boot
tmpfs               98M     0   98M    0% /run/user/0
172.16.1.31:/data   19G  1.8G   18G   10% /mnt
[root@nfs01 ~]# touch /mnt/oldboy.txt
[root@nfs01 ~]# ls /mnt/
oldboy.txt

换到web01挂载
1)安装

yum install nfs-utils rpcbind -y
rpm -qa nfs-utils rpcbind 
##安装nfs-utils的目的是为了获得showmount命令。

2)启动

[root@web01 ~]# systemctl start rpcbind
[root@web01 ~]# systemctl enable rpcbind[root@web01 ~]# netstat -lntup|grep 111
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      2467/rpcbind        
tcp6       0      0 :::111                  :::*                    LISTEN      2467/rpcbind        
udp        0      0 0.0.0.0:111             0.0.0.0:*                           2467/rpcbind        
udp6       0      0 :::111                  :::*                                2467/rpcbind 

3)查看NFS服务器提供的共享目录

[root@web01 ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data 172.16.1.0/24[root@web01 ~]# showmount -e 172.16.1.31
clnt_create: RPC: Program not registered程序   没有  注册

说明:RPC服务开启了,但是NFS没有告诉RPC开启的服务端口。
解决:重启NFS。

4)挂载测试

[root@web01 ~]# mount -t nfs 172.16.1.31:/data /mnt
[root@web01 ~]# df -h
文件系统           容量  已用  可用 已用% 挂载点
/dev/sda3           19G  1.8G   18G   10% /
devtmpfs           476M     0  476M    0% /dev
tmpfs              487M     0  487M    0% /dev/shm
tmpfs              487M  7.6M  479M    2% /run
tmpfs              487M     0  487M    0% /sys/fs/cgroup
/dev/sda1          253M  136M  118M   54% /boot
tmpfs               98M     0   98M    0% /run/user/0
172.16.1.31:/data   19G  1.8G   18G   10% /mnt
[root@web01 ~]# touch /mnt/oldgirl.txt
[root@web01 ~]# ls /mnt/
oldboy.txt  oldgirl.txt

练习:
backup作为客户端挂载NFS。

5)NFS报错总结
第一个报错及分析解决:

[root@web01 ~]# showmount -e 172.16.1.31
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

解答:No route to host错误是往往是防火墙。

第二个报错及分析解决:

[root@web01 ~]# showmount -e 172.16.1.31
clnt_create: RPC: Program not registered

解答:NFS启动时候rpcbind服务没有开启

6)NFS客户端开机自启动挂载
方法1:/etc/rc.local
把挂载的命令放入/etc/rc.local中,以实现开机自动挂载。命令如下:

[root@web01 mnt]# ls -l /etc/rc.d/rc.local 
-rw-r--r--. 1 root root 473 23 00:34 /etc/rc.d/rc.local
[root@web01 mnt]# chmod +x /etc/rc.d/rc.local
[root@web01 mnt]# ls -l /etc/rc.d/rc.local 
-rwxr-xr-x. 1 root root 473 23 00:34 /etc/rc.d/rc.local
[root@web01 mnt]# echo "#mount by oldboy" >>/etc/rc.local
[root@web01 mnt]# echo "/bin/mount -t nfs 172.16.1.31:/data /mnt" >>/etc/rc.local
[root@web01 mnt]# tail -2 /etc/rc.local
#mount by oldboy
/bin/mount -t nfs 172.16.1.31:/data /mnt

方法2:放入/etc/fstab(坑)

为什么fstab无法实现nfs挂载?
回顾:开机启动流程:
1、加载/etc/fstab
2、加载防火墙在前。
3、加载网卡

NFS网络文件系统,通过网络挂载,网络没起如何挂载?
又想在fstab里实现挂载、就用一个服务,延迟启动。

延迟满足:小孩给棉花糖的故事,学会延迟满足是成就自己的优秀思维。
C6:netfs服务
C7:remote-fs.target
开启remote-fs.target开机自启动:

[root@nfs01 /data1]# systemctl enable remote-fs.target 
[root@nfs01 /data1]# systemctl status remote-fs.target 

9. 项目实践作业:

web01 web02客户端实现挂载到nfs
NFS下面共享/data ,允许web01、web02客户端(挂载点/data)挂载后可读写.
当从web01上传图片,web02服务上可以删除,web02上传图片,web01服务上可以删除。
NFS下面共享/data1,允许 web01、web02客户端10.0.0.0/24网段只读(data1)
分别实现开机自动挂载

10. ()权限 对应参数

   rw 可读写 read writero 只读 read onlysync 写到磁盘才算完成,安全 慢async 异步写到远程缓冲区,快 不安全all_squash※ 不管客户端什么用户,到服务端都是nfsnobodyanonuid=匿名用户的UIDanongid=匿名用户的GID

11. 在生产中配置NFS的重要技巧:

  1. 确保所有客户端服务器对NFS共享目录具备相同的用户访问权限
    a. all_squash把所有客户端都压缩成固定的匿名用户(UID相同)。
    b.就是anonuid,anongid指定的UID和GID的用户。
  2. 所有的客户端和服务端都需要有一个相同的UID和GID的用户,即nfsnobody(UID必须相同)
[root@nfs01 mnt]# cat /etc/exports
#ddddddd
/data 172.16.1.0/24(rw,sync)
[root@nfs01 mnt]# cat /var/lib/nfs/etab
/data	172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)anonuid=65534,anongid=65534[root@nfs01 ~]# cat /etc/exports
#oldboy shared dir at time
#/data 172.16.1.0/24(rw,sync) 10.0.0.0/24(ro)
/data 172.16.1.0/24(rw,sync)
/data1 10.0.0.0/24(ro)

更改默认NFS默认用户

12. 项目实践2:

NFS共享的匿名用户用www,使得客户端上传的图片都是www用户,而不是匿名的nfsnobody。
web01,web02客户端实现挂载到nfs
NFS下面共享/data ,允许web01,web02客户端对/data可读写
web01上传图片,web02上可以删除web01上传的图片。
NFS下面共享/data1,允许 web01,web02客户端10.0.0.0/24 网段只读(data1)
实现开机自动挂载

1)所有主机(web01,web02,nfs01)上创建www用户,指定uid 1111:
#批量操作(xshell)

useradd -u 1111 www -s /sbin/nologin -M
id www

2)服务端NFS 01特殊配置

[root@nfs01 ~]# tail -2 /etc/exports
/data 172.16.1.0/24(rw,sync,all_squash,anonuid=1111,anongid=1111)
/data1 10.0.0.0/24(ro)

3)创建共享目录并授权

[root@nfs01 ~]# mkdir -p /data /data1
[root@nfs01 ~]# chown -R www.www /data
[root@nfs01 ~]# ls -ld /data
drwxr-xr-x 2 www www 173 71 11:51 /data

4)服务端NFS重新加载

[root@nfs01 ~]# systemctl reload nfs #平滑重启

4)每个客户端(web01,web02)

#NFS客户端软件安装
yum install rpcbind nfs-utils -y#启动
systemctl start rpcbind
systemctl enable rpcbind#检查挂载
showmount -e 172.16.1.31[root@web01 ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data1 10.0.0.0/24
/data  172.16.1.0/24#创建挂载点目录,并挂载
[root@web01 ~]# mkdir /data
[root@web01 ~]# mount -t nfs 172.16.1.31:/data /data
[root@web01 ~]# df -h
文件系统           容量  已用  可用 已用% 挂载点
172.16.1.31:/data   17G  2.3G   15G   14% /data[root@web01 ~]# touch /data/oldboy.txt
[root@web01 ~]# ls -l /data
总用量 0
-rw-r--r-- 1 www www 0 71 16:45 oldboy.txt
到此为止,web01配置好了。#######web02的配置
useradd -u 1111 www -s /sbin/nologin -M
id wwwyum install rpcbind nfs-utils -y
#启动
systemctl start rpcbind
systemctl status rpcbindsystemctl enable rpcbind
systemctl list-unit-files|grep rpcbindroot@web02 ~]# mkdir /data
[root@web02 ~]# mount -t nfs 172.16.1.31:/data /data
[root@web02 ~]# df -h|grep data
172.16.1.31:/data   17G  2.3G   15G   14% /data
[root@web02 ~]# touch /data/oldboy_web02.txt
[root@web02 ~]# ls /data/ -l
总用量 0
-rw-r--r-- 1 www www 0 71 16:45 oldboy.txt
-rw-r--r-- 1 www www 0 71 16:46 oldboy_web02.txt
[root@web02 ~]# rm -f /data/oldboy.txt 
[root@web02 ~]# ls /data/ -l
总用量 0
-rw-r--r-- 1 www www 0 71 16:46 oldboy_web02.txt
[root@web01 ~]# rm -f /data/oldboy_web02.txt [root@nfs01 ~]# ls /data/ -l
总用量 0
-rw-r--r-- 1 www www 0 71 16:48 oldboy_web01.txt
-rw-r--r-- 1 www www 0 71 16:48 oldboy_web02.txt#  NFS下面共享/data1,允许 web01,web02客户端10.0.0.0/24 网段只读(data1)
[root@web01 ~]# mkdir /data1
[root@web01 ~]# mount -t nfs 10.0.0.31:/data1 /data1
[root@web01 ~]# df -h
文件系统           容量  已用  可用 已用% 挂载点
devtmpfs           2.0G     0  2.0G    0% /dev
tmpfs              2.0G     0  2.0G    0% /dev/shm
tmpfs              2.0G   12M  2.0G    1% /run
tmpfs              2.0G     0  2.0G    0% /sys/fs/cgroup
/dev/sda3           43G  2.5G   41G    6% /
/dev/sda1         1014M  161M  854M   16% /boot
172.16.1.31:/data   43G  2.5G   41G    6% /mnt
tmpfs              394M     0  394M    0% /run/user/0
10.0.0.31:/data1    43G  2.5G   41G    6% /data1
#客户端无法创建
[root@web01 ~]# touch /data1/oldboy_web01.txt
touch: 无法创建"/data1/oldboy_web01.txt": 只读文件系统
#服务端创建
[root@nfs01 data1]# touch /data1/oldboy_web01.txt
[root@nfs01 data1]# ll
总用量 0
-rw-r--r-- 1 root root 0 2024-02-20 10:50 oldboy_web01.txt
# 客户端无法删除
[root@web01 ~]# ll -l /data1/
总用量 0
-rw-r--r-- 1 root root 0 2024-02-20 10:50 oldboy_web01.txt
[root@web01 ~]# rm -rf /data1/oldboy_web01.txt
rm: 无法删除"/data1/oldboy_web01.txt": 只读文件系统

只读ro地方了解。

NFS共享权限有两部分控制:
1.配置文件里的rw,ro来控制
2.本地目录和文件权限。

当多个NFS客户端访问服务器端读写文件时,需要具有以下几个权限:
1.NFS服务器/etc/exports设置需要开放可写入的权限,即服务端的共享权限。

/data 172.16.1.0/24(rw,sync)

2.NFS服务器实际要共享的NFS目录权限具有可写入w的权限,即服务端本地目录的安全权限。

[root@nfs01 /]# ls -ld /data 
drwxr-xr-x 2 www www 54 71 16:48 /data

3.web01,web02将来不是人为用root去放文件。
nginx服务进程用户改成www,访问/data ===>172.16.1.31:/data

exportfs功能:
这个命令可以设置和vim /etc/exports一样的设置。

[root@nfs01 /]# exportfs -o rw,async 172.16.1.0/24:/opt     #==(/opt 172.16.1.0/24(rw,sync))
[root@nfs01 /]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/opt   172.16.1.0/24

重新加载NFS

exportfs -rv  ==  systemctl reload nfs

NFS服务端宕机前后实践
查看挂载

cat /proc/mounts

有的时候,NFS服务端宕机状态,NFS客户端容易夯住(敲命令没反应)。
df -h 没用。
NFS强耦合的软件。服务端出去问题,NFS客户端容易夯住。
autofs(访问的时候帮你自动挂载,当你停止访问60秒,自动给你卸载)
服务端重启后

umount /data /data1 -l
mount -a

/etc/rc.local里面的命令。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/539861.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

windows 11访问Debian10上的共享目录

步骤 要在Windows 11上访问Debian 10.0.0的共享目录&#xff0c;可以通过以下步骤来实现&#xff1a; 1. 设置Samba服务&#xff1a;在Debian系统上&#xff0c;需要安装并配置Samba服务&#xff0c;以便能够实现文件夹共享。Samba是一个允许Linux/Unix服务器与Windows操作系…

供电系统分类详解

一、供电系统分类 电力供电系统一般有5种供电模式&#xff0c;常用的有&#xff1a;IT系统&#xff0c;TT系统&#xff0c;TN系统&#xff0c;其中TN系统又可以分为TN-C&#xff0c;TN-S&#xff0c;TN-C-S。 1、TN-C系统&#xff08;三相四线制&#xff09; 优点: 该系统中…

python 调用redis创建查询key

部署redis apiVersion: apps/v1 # 描述api版本&#xff0c;默认都用这个 kind: Deployment # 资源类型&#xff0c;可以配置为pod&#xff0c;deployment&#xff0c;service&#xff0c;statefulset等等 metadata: # deployment相关的元数据&#xff0c;用于描述deployment的…

软考高级:政府信息化与电子政务(G2G 、G2E、G2B、B2G、G2C、C2C)概念和例题

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;大厂高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

【SysBench】Linux 安装 sysbench-1.20

安装目的是为了对 MySQL 8.0.x 、PostgreSQL 进行基准测试。 0、sysbench 简介 sysbench 是一个可编写脚本的多线程基准测试工具&#xff0c;基于 LuaJIT 。 它最常用于数据库基准测试&#xff0c;但也可以 用于创建任意不涉及数据库服务器的复杂工作负载。 sysbench 附带以…

C++ 改造红黑树,封装map和set

C 改造红黑树,封装map和set 一.前言:已经实现好了的红黑树二.简化STL库里面对于map和set的封装1.STL库中红黑树的简化代码2.STL库中set的简化代码3.STL库中map的简化代码4.封装map和set的第一步5.红黑树第一个模板参数的价值6.红黑树节点的定义 三.仿函数1.解除仿函数的误解2.仿…

python 基础知识点(蓝桥杯python科目个人复习计划63)

今日复习内容&#xff1a;做题 例题1&#xff1a;蓝桥骑士 问题描述&#xff1a; 小蓝是蓝桥王国的骑士&#xff0c;他喜欢不断突破自我。 这天蓝桥国王给他安排了N个对手&#xff0c;他们的战力值分别为a1,a2,...,an&#xff0c;且按顺序阻挡在小蓝的前方。对于这些对手小…

目前研一,是选 FPGA 还是 Linux 嵌入式?

目前研一&#xff0c;是选 FPGA 还是 Linux 嵌入式? 在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「Linux 的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&a…

mac安全干净卸载Anaconda3

使用which python显示当前使用的是/Users/username/anaconda3/bin/python 现在想卸载Anaconda&#xff0c;恢复使用mac系统自带的Python 删除隐藏文件目录 rm -rf ~/.anaconda修改~/.bash_profile文件&#xff0c;将anaconda相关删除 也有可能不是~/.bash_profile而是~/.zs…

Infineon_TC264智能车代码初探及C语言深度学习(二)

本篇文章记录我在智能车竞赛中&#xff0c;对 Infineon_TC264 这款芯片的底层库函数的学习分析。通过深入地对其库函数进行分析&#xff0c;C语言深入的知识得以再次在编程中呈现和运用。故觉得很有必要在此进行记录分享一下。 目录 ​编辑 一、代码段分析 NO.1 指向结构体…

大米自动化生产线的运作原理与科技创新

在当今科技飞速发展的时代&#xff0c;自动化生产线已经成为各个行业提高效率、降低成本的重要工具。而在粮食产业中&#xff0c;大米的自动化生产线更是以其独特的魅力&#xff0c;引领着粮食加工业的转型升级。星派将带您深入了解大米自动化生产线的运作原理&#xff0c;以及…

某狗网翻译接口逆向之webpack扣取

​​​​​逆向网址 aHR0cHM6Ly9mYW55aS5zb2dvdS5jb20 逆向链接 aHR0cHM6Ly9mYW55aS5zb2dvdS5jb20vdGV4dA 逆向接口 aHR0cHM6Ly9mYW55aS5zb2dvdS5jb20vYXBpL3RyYW5zcGMvdGV4dC9yZXN1bHQ 逆向过程 请求方式&#xff1a;POST 参数构成&#xff1a; 【s】 1b921dbefaa8d939afca…