feat: 添加redission

This commit is contained in:
2023-08-07 17:16:39 +08:00
parent 3064452c05
commit 0768161203
10 changed files with 164 additions and 16 deletions

View File

@@ -5,6 +5,7 @@ dependencies {
//noinspection GradlePackageUpdate
//noinspection VulnerableLibrariesLocal
compileOnly("com.google.code.gson:gson:2.8.0")
val adventureVersion = property("adventure_version")
// https://mvnrepository.com/artifact/net.kyori/adventure-platform-api
implementation("net.kyori:adventure-platform-api:${adventureVersion}") {
@@ -24,6 +25,13 @@ dependencies {
implementation("net.kyori:adventure-text-serializer-legacy:${adventureSerializerVersion}") {
exclude(group = "org.jetbrains")
}
val redissionVersion = property("redission_version")
implementation("org.redisson:redisson:${redissionVersion}") {
exclude(group = "io.netty")
exclude(group = "org.yaml")
exclude(group = "org.slf4j")
}
}
tasks {

View File

@@ -2,6 +2,7 @@ package cn.hamster3.mc.plugin.core.common.api;
import net.kyori.adventure.platform.AudienceProvider;
import org.jetbrains.annotations.NotNull;
import org.redisson.api.RedissonClient;
import javax.sql.DataSource;
import java.sql.Connection;
@@ -25,4 +26,7 @@ public abstract class CoreAPI {
public Connection getConnection() throws SQLException {
return getDataSource().getConnection();
}
@NotNull
public abstract RedissonClient getRedissonClient();
}

View File

@@ -0,0 +1,41 @@
# 数据库链接驱动地址
# 除非你知道自己在做什么,否则不建议更改该项
# 旧版服务端低于1.13请使用com.mysql.jdbc.Driver
driver: "com.mysql.cj.jdbc.Driver"
# 数据库链接填写格式:
# jdbc:mysql://{数据库地址}:{数据库端口}/{使用的库名}?参数
# 除非你知道自己在做什么,否则不建议随意更改参数
url: "jdbc:mysql://sql.hamster3.cn:3306/Test1?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&autoReconnect=true&useSSL=false&allowPublicKeyRetrieval=true"
# 用户名
username: "Test"
# 密码
password: "Test123.."
# 最小闲置链接数
# 推荐值0~3
minimum-idle: 0
# 最大链接数
# 推荐值:
# 子服:最大在线玩家数/10且不低于3
# BC最大在线玩家数/20且不低于5
maximum-pool-size: 3
# 保持连接池可用的间隔
# 除非你的服务器数据库连接经常断开,否则不建议启用该选项
# 单位:毫秒
# 默认值为0禁用
keep-alive-time: 0
# 连接闲置回收时间
# 单位:毫秒
# 推荐值60000010分钟
idle-timeout: 600000
# 链接最长存活时间
# 单位:毫秒
max-lifetime: 1800000
# 验证连接存活的超时时间
# 单位:毫秒
validation-timeout: 5000
# 如果你不需要做多端跨服,那么请使用 sqlite 作本地数据库
# driver: "org.sqlite.JDBC"
# url: "jdbc:sqlite:./plugins/HamsterCore/database.db"

View File

@@ -0,0 +1,36 @@
singleServerConfig:
address: "redis://localhost:6379"
password: "Reids123.."
username: "default"
database: 1
clientName: ""
idleConnectionTimeout: 10000
connectTimeout: 10000
timeout: 3000
retryAttempts: 3
retryInterval: 1500
subscriptionsPerConnection: 5
sslEnableEndpointIdentification: true
sslProvider: "JDK"
pingConnectionInterval: 30000
keepAlive: false
tcpNoDelay: true
subscriptionConnectionMinimumIdleSize: 1
subscriptionConnectionPoolSize: 50
connectionMinimumIdleSize: 1
connectionPoolSize: 10
dnsMonitoringInterval: 5000
threads: 4
nettyThreads: 8
referenceEnabled: true
lockWatchdogTimeout: 30000
checkLockSyncedSlaves: true
slavesSyncTimeout: 1000
reliableTopicWatchdogTimeout: 600000
keepPubSubOrder: true
useScriptCache: false
minCleanUpDelay: 5
maxCleanUpDelay: 1800
cleanUpKeysAmount: 100
useThreadClassLoader: true
lazyInitialization: false