磐维数据库在BClinux-8.4系统上的部署指南

#作者:任少近

文章目录

前言

本文档旨在描述在 BigCloud Enterprise Linux (BCLinux) 8.4 操作系统环境下部署 磐维数据库(PanWeiDB) 的相关配置和背景信息。以及遇到的坑点,通过这篇文章,能让我们小伙伴们,以此版本操作系统部署磐维数据库时,能避免坑点,快速部署,以下为环境和软件的具体信息:

版本信息

操作系统版本:BigCloud Enterprise Linux release 8.4 (Core)

内核版本为 4.19.0-348.20.23.el8.bclinux.x86_64。

CPU 型号:GenuineIntel。

数据库版本:PanWeiDB_V2.0-S3.0.2_B02,

安装包文件名为 PanWeiDB_V2.0-S3.0.2_B02-install-bclinux_8.2-x86_64-no_mot.tar.gz。

链接:https://yun.139.com/w/#/filePreview?contentID=DFIJLLf-AD4A0111dxu4j0Kb14420250103162121q4s\&moduleType=2\&path=root%253A%252FDFIJLLf-AD4A0111dxu4j0Kb144202410221505539jt%252FDFIJLLf-AD4A0111dxu4j0Kb08320250103162120s67%252FDFIJLLf-AD4A0111dxu4j0Kb08320250103162120s6d%252FDFIJLLf-AD4A0111dxu4j0Kb08320250103162120s6e%252FDFIJLLf-AD4A0111dxu4j0Kb08320250103162120s6k\&cloudGroupID=1177276864092333859\&groupOwner=MTM2MDEyMzM0MjA%3D

基础环境准备

硬件准备

为8C16G内存.

操作系统版本

BigCloud Enterprise Linux release 8.4 (Core)

4.19.0-348.20.23.el8.bclinux.x86_64

Cpu型号

processor : 3

vendor_id : GenuineIntel

cpu family : 6

model : 85

model name : Intel Xeon Processor

根据操作系统和CPU选数据库版本

PanWeiDB_V2.0-S3.0.2_B02-install-bclinux_8.2-x86_64-no_mot.tar.gz

基础环境组件

整体上检查和配置服务器的基础环境,包括安全性(防火墙和 SSH 配置)、时间同步(时区设置)、软件依赖(Python 版本)以及网络性能(MTU 设置,可选)。这些步骤在部署数据库或其他服务之前非常重要,能够确保系统具备正确的配置和依赖项,同时为后续的操作提供一个稳定、高效的运行环境。

复制代码
systemctl status firewall #防火墙
ll /etc/localtime  #时间
python3 --version -> 3.6.8 #可以用
cat /etc/hostname  #主机名
/etc/ssh/sshd config -> PermitRootLogin yes  #安装时需要root 帐户远程登录访问权限
ifconfig eth0 mtu 8192 # (可选)

必要软件包安装

BigCloud Enterprise Linux 8.4上检查并安装一系列必要软件包的过程。通过rpm -qa | grep 软件包名命令来查询特定软件包是否已经安装,其中涵盖了bzip2、expect、libaio-devel、flex、bison、ncurses-devel、glibc-devel以及gcc和gcc-c++编译器等关键工具和库文件。对于未检测到的软件包,比如libaio-devel、bison、ncurses-devel等,则建议使用yum install 软件包名 -y命令进行自动安装。特别注意和磐维官方数据库说明不一样的是:不需要对redhat-lsb-core的安装,也没有查询到该软件包。

复制代码
rpm -qa |grep redhat-lsb-core  #此项若没有查询到,不需要安装。
​
[root@ecs-79499467 ~]#  rpm -qa |grep bzip2
bzip2-libs-1.0.6-26.el8.x86_64
bzip2-1.0.6-26.el8.x86_64
​
[root@ecs-79499467 ~]#  rpm -q expect
expect-5.45.4-5.el8.x86_64
​
[root@ecs-79499467 ~]#  rpm -q libaio-devel  #package libaio-devel is not installed,yum install  libaio* -y
libaio-devel-0.3.112-1.el8.x86_64
​
[root@ecs-79499467 ~]#  rpm -q flex
flex-2.6.1-9.el8.x86_64
​
[root@ecs-79499467 ~]#   rpm -q bison #package bison is not installed,yum install bison -y
bison-3.0.4-10.el8.x86_64
​
[root@ecs-79499467 ~]#  rpm -q ncurses-devel  #yum install  ncurses-devel -y
ncurses-c++-libs-6.1-9.20180224.an8.x86_64
​
[root@ecs-79499467 ~]#  rpm -q glibc-devel  #yum install glibc-devel -y
glibc-devel-2.28-164.el8.bclinux.x86_64
glibc-headers-2.28-164.el8.bclinux.x86_64
libxcrypt-devel-4.1.1-4.el8.x86_64
​
[root@ecs-79499467 ~]#  rpm -q gcc  #yum install -y gcc
gcc-8.4.1-1.0.1.el8.bclinux.x86_64
​
[root@ecs-79499467 ~]#   rpm -q gcc-c++ #yum install -y gcc-c++
gcc-c++-8.4.1-1.0.1.el8.bclinux.x86_64

关闭THP

Transparent Huge Pages (THP) 是 Linux 内核的一项功能,旨在通过使用更大的内存页(通常是 2MB 或更大)来优化内存管理,从而提高性能,在某些特定场景下(尤其是数据库和其他对内存敏感的应用程序),启用 THP 可能会导致性能问题甚至系统不稳定,许多数据库和高性能应用在生产环境中会禁用 THP。

复制代码
cat >> /etc/systemd/system/disable-thp.service << EOF
[Unit]
Description=Disable Transparent Huge Pages (THP)
[Service]
Type=simple
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent hugepage/defrag"
[Install]
WantedBy=multi-user.target
EOF
​
#重启
systemctl daemon-reload
systemctl start disable-thp.service
systemctl enable disable-thp.service
#检查
cat /sys/kernel/mm/transparent hugepage/enabled

添加RemoveIPC=no

RemoveIPC=no 是一个常见的配置选项,用于防止系统在用户注销时自动删除其相关的 IPC(Inter-Process Communication,进程间通信)资源(如共享内存、信号量等)。这对于某些需要持久化 IPC 资源的应用程序(如数据库或其他后台服务)非常重要。

复制代码
 vim /usr/lib/systemd/system/systemd-logind.service 添加到末尾
sysctl.conf
fs.aio-max-nr= 1048576
fs.file-max= 76724600
kernel.shmmni = 4096
net.ipv4.tcp_fin_timeout = 5
vm.dirty_background_bytes = 409600000
vm.dirty_expire_centisecs = 3000
vm.dirty_ratio = 80
vm.dirty_writeback_centisecs = 50
vm.overcommit_memory = 0
vm.swappiness = 0
net.ipv4.ip_local_port_range = 40000 65535
fs.nr_open = 20480000
kernel.core_pattern = /database/panweidb/corefile/core-%e-%p-%t
net.ipv4.tcp_max_tw_buckets = 10000
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_keepalive_time = 30
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_retries2 = 12
net.ipv4.ip_local_reserved_ports = 17700-17707,20050-20057
net.core.wmem_max = 21299200
net.core.rmem_max = 21299200
net.core.wmem_default = 21299200
net.core.rmem_default = 21299200
kernel.sem = 250 6400000 1000 25600
net.ipv4.tcp_rmem = 8192 250000 16777216
net.ipv4.tcp_wmem = 8192 250000 16777216
vm.min_free_kbytes = 810589
net.core.netdev_max_backlog = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.core.somaxconn = 65535
kernel.shmall = 1152921504606846720
kernel.shmmax = 18446744073709551615
​

添加账户

复制代码
[root@ecs-79499467 ~]#  groupadd -g 1101 dbgrp
[root@ecs-79499467 ~]#  useradd -g dbgrp -u 1101 -m omm
[root@ecs-79499467 ~]#  echo 'XXXX'|passwd --stdin omm
​

切换账户

复制代码
#session                include         system-auth   
#关闭这条,不然切换报以下错误:
[root@ecs-79499467 /database/panweidb/soft/script]#  su - omm
Last login: Mon Apr 14 17:52:15 CST 2025
su: cannot open session: Module is unknown

创建目录

复制代码
mkdir -p /database/panweidb
mkdir -p /database/panweidb/archive
mkdir -p /database/panweidb/pg_audit
mkdir -p /database/panweidb/soft
#配置文件里的目录,在安装时会自动产生新的目录,在这不需要新建。如产生新目录如下
[root@ecs-79499467 /database/panweidb]#  ll
total 36
lrwxrwxrwx  1 omm dbgrp   30 Apr 14 18:26 app -> /database/panweidb/app_a25acd9
drwx------ 10 omm dbgrp 4096 Apr 14 18:27 app_a25acd9
drwxr-xr-x  2 omm dbgrp 4096 Apr 14 15:08 archive  #忽略
drwxr-x---  2 omm dbgrp 4096 Apr 14 17:50 corefile
drwx------ 20 omm dbgrp 4096 Apr 14 18:27 data
drwxr-xr-x  6 omm dbgrp 4096 Apr 14 17:52 om
drwxr-x---  3 omm dbgrp 4096 Apr 14 17:35 omm
drwxr-xr-x  2 omm dbgrp 4096 Apr 14 15:08 pg_audit #忽略
drwxr-xr-x  5 omm dbgrp 4096 Apr 14 17:50 soft #忽略
drwx------  2 omm dbgrp 4096 Apr 14 18:29 tmp
#等部署完了可以查看到新目录的里东西
[root@ecs-79499467 /database/panweidb]#  tree -L 2
.
├── app -> /database/panweidb/app_a25acd9
├── app_a25acd9
│   ├── bin
│   ├── etc
│   ├── include
│   ├── jre
│   ├── lib
│   ├── python
│   ├── share
│   ├── tool
│   └── version.cfg
├── archive
├── corefile
├── data
│   ├── base
│   ├── cacert.pem
│   ├── gaussdb.state
│   ├── global
│   ├── gs_gazelle.conf
│   ├── gswlm_userinfo.cfg
│   ├── pg_clog
│   ├── pg_csnlog
│   ├── pg_ctl.lock
│   ├── pg_errorinfo
│   ├── pg_hba.conf
│   ├── pg_hba.conf.bak
│   ├── pg_hba.conf.lock
│   ├── pg_ident.conf
│   ├── pg_llog
│   ├── pg_location
│   ├── pg_logical
│   ├── pg_multixact
│   ├── pg_notify
│   ├── pg_replslot
│   ├── pg_serial
│   ├── pg_snapshots
│   ├── pg_stat_tmp
│   ├── pg_tblspc
│   ├── pg_twophase
│   ├── PG_VERSION
│   ├── pg_xlog
│   ├── postgresql.conf
│   ├── postgresql.conf.guc.bak
│   ├── postgresql.conf.lock
│   ├── postmaster.opts
│   ├── postmaster.pid
│   ├── postmaster.pid.lock
│   ├── server.crt
│   ├── server.key
│   ├── server.key.cipher
│   ├── server.key.rand
│   └── undo
├── om
│   ├── bin
│   ├── lib
│   ├── omm
│   ├── PanWeiDB-Package-bak_a25acd9.tar.gz
│   ├── PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit-cm.tar.gz
│   ├── PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit-om.tar.gz
│   ├── PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit.sha256
│   ├── PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit.tar.bz2
│   ├── script
│   ├── upgrade_sql.sha256
│   ├── upgrade_sql.tar.gz
│   └── version.cfg
├── omm
│   └── omm
├── pg_audit
├── soft
│   ├── checkcpucycle
│   ├── cluster_config.xml
│   ├── CM_VERSION
│   ├── lib
│   ├── libcgroup
│   ├── PanWeiDB-Package-bak_a25acd9.tar.gz
│   ├── PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit-cm.tar.gz
│   ├── PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit-om.sha256
│   ├── PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit-om.tar.gz
│   ├── PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit-pwpatch.sha256
│   ├── PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit-pwpatch.tar.gz
│   ├── PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit.sha256
│   ├── PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit.tar.bz2
│   ├── PanWeiDB_V2.0-S3.0.2_B02-install-bclinux_8.2-x86_64-no_mot.tar.gz
│   ├── script
│   ├── Symbols.tar.gz
│   ├── upgrade_sql.sha256
│   ├── upgrade_sql.tar.gz
│   └── version.cfg
└── tmp

解压目录到database/panweidb/soft下

复制代码
[root@ecs-79499467 /database/panweidb/soft]#  ll
total 1386936
-rwxr-xr-x 1 1000 1000     12360 Nov  9 00:08 checkcpucycle
-rw-rw-r-- 1 1000 1000         8 Nov 12 10:35 CM_VERSION
-rw-r--r-- 1 1000 1000  19196722 Nov 12 10:18 PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit-cm.tar.gz
-rw-r--r-- 1 1000 1000        65 Nov 12 10:17 PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit-om.sha256
-rw-r--r-- 1 1000 1000  12398573 Nov 12 10:17 PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit-om.tar.gz
-rw------- 1 1000 1000        65 Nov  9 00:08 PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit-pwpatch.sha256
-rw------- 1 1000 1000 428228215 Nov  9 00:08 PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit-pwpatch.tar.gz
-rw-r--r-- 1 1000 1000        65 Nov  9 00:05 PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit.sha256
-rw-r--r-- 1 1000 1000 245870003 Nov  9 00:05 PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit.tar.bz2
-rw-r--r-- 1 root root 704223672 Apr 14 14:52 PanWeiDB_V2.0-S3.0.2_B02-install-bclinux_8.2-x86_64-no_mot.tar.gz
-rw-r--r-- 1 1000 1000   9510090 Nov 12 10:18 Symbols.tar.gz
-rw------- 1 1000 1000        65 Nov  9 00:05 upgrade_sql.sha256
-rw------- 1 1000 1000    738933 Nov  9 00:05 upgrade_sql.tar.gz
​
#再解压目录
tar -xf PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit-om.tar.gz
[root@ecs-79499467 /database/panweidb/soft]#  ll
total 1386948
-rwxr-xr-x  1 1000 1000     12360 Nov  9 00:08 checkcpucycle
-rw-rw-r--  1 1000 1000         8 Nov 12 10:35 CM_VERSION
drwxr-xr-x 15 1000 1000      4096 Nov 12 10:17 lib
-rw-r--r--  1 1000 1000  19196722 Nov 12 10:18 PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit-cm.tar.gz
-rw-r--r--  1 1000 1000        65 Nov 12 10:17 PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit-om.sha256
-rw-r--r--  1 1000 1000  12398573 Nov 12 10:17 PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit-om.tar.gz
-rw-------  1 1000 1000        65 Nov  9 00:08 PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit-pwpatch.sha256
-rw-------  1 1000 1000 428228215 Nov  9 00:08 PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit-pwpatch.tar.gz
-rw-r--r--  1 1000 1000        65 Nov  9 00:05 PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit.sha256
-rw-r--r--  1 1000 1000 245870003 Nov  9 00:05 PanWeiDB_V2.0-S3.0.2_B02-bclinux-64bit.tar.bz2
-rw-r--r--  1 root root 704223672 Apr 14 14:52 PanWeiDB_V2.0-S3.0.2_B02-install-bclinux_8.2-x86_64-no_mot.tar.gz
drwxr-xr-x 11 1000 1000      4096 Nov 12 10:17 script
-rw-r--r--  1 1000 1000   9510090 Nov 12 10:18 Symbols.tar.gz
-rw-------  1 1000 1000        65 Nov  9 00:05 upgrade_sql.sha256
-rw-------  1 1000 1000    738933 Nov  9 00:05 upgrade_sql.tar.gz
-rw-r--r--  1 1000 1000        26 Nov 12 10:17 version.cfg
#多了 lib和script目录
​

修改配置文件

此处要将自己设置的路径配置上,路径app,omm,tmp,omm,om,corefile会自动创建,不需要提前创建

复制代码
 [root@ecs-79499467 /database/panweidb/soft]#cp script/gspylib/etc/conf/cluster_config_template.xml ./cluster_config.xml
[root@ecs-79499467 /database/panweidb/soft]#  cat cluster_config.xml
<?xml version="1.0" encoding="utf-8"?>
<ROOT>
  <CLUSTER>
    <PARAM name="clusterName" value="panweidb" />
    <PARAM name="nodeNames" value="ecs-79499467"/>
    <PARAM name="gaussdbAppPath" value="/database/panweidb/app" />
    <PARAM name="gaussdbLogPath" value="/database/panweidb/omm" />
    <PARAM name="tmpMppdbPath" value="/database/panweidb/tmp"/>
    <PARAM name="gaussdbToolPath" value="/database/panweidb/om" />
    <PARAM name="corePath" value="/database/panweidb/corefile"/>
    <PARAM name="backIp1s" value="192.168.0.4"/>
  </CLUSTER>
​
  <DEVICELIST>
    <DEVICE sn="ecs-79499467">
      <PARAM name="name" value="ecs-79499467"/>
      <PARAM name="azName" value="AZ1"/>
      <PARAM name="azPriority" value="1"/>
      <PARAM name="backIp1" value="192.168.0.4"/>
      <PARAM name="sshIp1" value="192.168.0.4"/>
      <!-- dn -->
      <PARAM name="dataNum" value="1"/>
      <PARAM name="dataPortBase" value="17700"/>
      <PARAM name="dataNode1" value="/database/panweidb/data"/>
      <PARAM name="dataNode1_syncNum" value="0"/>
    </DEVICE>
  </DEVICELIST>
</ROOT>
​
#有其他节点配置去掉

修改目录权限

复制代码
chown -R omm:dbgrp /database/panweidb
chmod -R 755 /database/panweidb

预安装

复制代码
[root@ecs-79499467 /database/panweidb/soft/script]#  ./gs_preinstall -U omm -G dbgrp -X ../cluster_config.xml --sep-env-file=ecsfile
Parsing the configuration file.
Successfully parsed the configuration file.
Installing the tools on the local node.
Successfully installed the tools on the local node.
Setting host ip env
Successfully set host ip env.
Are you sure you want to create the user[omm] (yes/no)? yes
Preparing SSH service.
Successfully prepared SSH service.
Checking OS software.
Successfully check os software.
Checking OS version.
Successfully checked OS version.
Creating cluster's path.
Successfully created cluster's path.
Set and check OS parameter.
Setting OS parameters.
Successfully set OS parameters.
Warning: Installation environment contains some warning messages.
Please get more details by "/database/panweidb/soft/script/gs_checkos -i A -h ecs-79499467 -X /database/panweidb/soft/cluster_config.xml --detail
Set and check OS parameter completed.
Preparing CRON service.
Successfully prepared CRON service.
Setting user environmental variables.
Successfully set user environmental variables.
Setting the dynamic link library.
Successfully set the dynamic link library.
Setting Core file
Successfully set core path.
Setting pssh path
Successfully set pssh path.
Setting Cgroup.
Successfully set Cgroup.
Set ARM Optimization.
No need to set ARM Optimization.
Fixing server package owner.
Setting finish flag.
Successfully set finish flag.
Preinstallation succeeded.
​
若不成功,出现如下情况:
[root@ecs-79499467 /database/panweidb/soft/script]#  ./gs_preinstall -U omm -G dbgrp -X ../cluster_config.xml --sep-env-file=ecsfile
Parsing the configuration file.
Successfully parsed the configuration file.
Installing the tools on the local node.
Successfully installed the tools on the local node.
Setting host ip env
Successfully set host ip env.
Are you sure you want to create the user[omm] (yes/no)? yes
Preparing SSH service.
Successfully prepared SSH service.
Checking OS software.
Successfully check os software.
Checking OS version.
Successfully checked OS version.
Creating cluster's path.
Successfully created cluster's path.
Set and check OS parameter.
Setting OS parameters.
Successfully set OS parameters.
[GAUSS-52400] : Installation environment does not meet the desired result.
Please get more details by "/database/panweidb/soft/script/gs_checkos -i A -h ecs-79499467 -X /database/panweidb/soft/cluster_config.xml --detail   
​
可执行:/database/panweidb/soft/script/gs_checkos -i B -h ecs-79499467 -X /database/panweidb/soft/cluster_config.xml
Setting items:
    B1. [ Set system control parameters ]                       : Normal
    B2. [ Set file system configuration value ]                 : Normal
    B3. [ Set pre-read block size value ]                       : Normal
    B4. [ Set IO scheduler value ]                              : Normal
[ecs-79499467]:
[GAUSS-51632] : Failed to do python3 '/database/panweidb/soft/script/local/LocalCheckOS.py' -t Set_Network_Configure -X '/database/panweidb/soft/cluster_config.xml' -l '/tmp/gs_checkos/gs_local.log'. Error:
[GAUSS-50604] : Failed to obtain network interface card of backIp(36.212.202.212). Error:
[GAUSS-50604] : Failed to obtain network interface card of backIp(36.212.202.212).
发现到网络配置有问题。修改可行

安装

环境隔离切到omm下

复制代码
#必须到指定目录下执行生效
[omm@ecs-79499467 ~]$ cd /database/panweidb/soft/script/
[omm@ecs-79499467 script]$  source ecsfile
切到omm下安装
[omm@ecs-79499467 script]$ ./gs_install -X /database/panweidb/soft/cluster_config.xml --gsinit-parameter="--encoding=UTF8" --gsinit-parameter="--lc-collate=C" --gsinit-parameter="--lc-ctype=C" --gsinit-parameter="--dbcompatibility=B"

验证

复制代码
通过以下命令可以验证是否安装成功。
[omm@ecs-79499467 script]$ gs_om -t status --detail
[   Cluster State   ]
​
cluster_state   : Normal
redistributing  : No
current_az      : AZ_ALL
​
[  Datanode State   ]
​
    node        node_ip         port      instance                        state
-----------------------------------------------------------------------------------------------
1  ecs-79499467 192.168.0.4     17700      6001 /database/panweidb/data   P Primary Normal
[omm@ecs-79499467 script]$ ss -antlp|grep 17700
LISTEN 0      18000    192.168.0.4:17700      0.0.0.0:*    users:(("panweidb",pid=2764452,fd=12))
LISTEN 0      18000      127.0.0.1:17700      0.0.0.0:*    users:(("panweidb",pid=2764452,fd=8))
LISTEN 0      18000          [::1]:17700         [::]:*    users:(("panweidb",pid=2764452,fd=9))
​
相关推荐
伤不起bb28 分钟前
Redis 哨兵模式
数据库·redis·缓存
卑微的Coder30 分钟前
Redis Set集合命令、内部编码及应用场景(详细)
java·数据库·redis
2501_9153738830 分钟前
Redis线程安全深度解析:单线程模型的并发智慧
数据库·redis·安全
呼拉拉呼拉33 分钟前
Redis知识体系
数据库·redis·缓存·知识体系
霖檬ing34 分钟前
Redis——主从&哨兵配置
数据库·redis·缓存
卜及中4 小时前
【Redis/2】核心特性、应用场景与安装配置
数据库·redis·缓存
LucianaiB4 小时前
如何做好一份优秀的技术文档:专业指南与最佳实践
android·java·数据库
Eiceblue4 小时前
Python读取PDF:文本、图片与文档属性
数据库·python·pdf
敖云岚7 小时前
【Redis】分布式锁的介绍与演进之路
数据库·redis·分布式
LUCIAZZZ7 小时前
HikariCP数据库连接池原理解析
java·jvm·数据库·spring·springboot·线程池·连接池