diff --git a/FengHuang/ExtendJar/Spire.Presentation.jar b/FengHuang/ExtendJar/Spire.Presentation.jar
deleted file mode 100644
index bd09899..0000000
Binary files a/FengHuang/ExtendJar/Spire.Presentation.jar and /dev/null differ
diff --git a/FengHuang/ExtendJar/aspose-words-19.5jdk.jar b/FengHuang/ExtendJar/aspose-words-19.5jdk.jar
deleted file mode 100644
index a5bfb91..0000000
Binary files a/FengHuang/ExtendJar/aspose-words-19.5jdk.jar and /dev/null differ
diff --git a/FengHuang/lib/license.xml b/FengHuang/lib/license.xml
deleted file mode 100644
index 20b1b90..0000000
--- a/FengHuang/lib/license.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
- Aspose.Total for Java
-
- Enterprise
- 20991231
- 20991231
- 8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7
-
- sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=
-
\ No newline at end of file
diff --git a/FengHuang/pom.xml b/FengHuang/pom.xml
index db9d458..e443fe3 100644
--- a/FengHuang/pom.xml
+++ b/FengHuang/pom.xml
@@ -20,6 +20,30 @@
shardingsphere-jdbc-core
5.3.2
+
+
+
+ com.aspose
+ aspose-words
+ 20.12
+ system
+ ${project.basedir}/ExtendJar/aspose-words-20.12-jdk17-crack.jar
+
+
+ com.aspose
+ aspose-cells
+ 20.7
+ system
+ ${project.basedir}/ExtendJar/aspose-cells-20.7-crack.jar
+
+
+ com.aspose
+ aspose.slides
+ 19.3
+ system
+ ${project.basedir}/ExtendJar/aspose.slides-19.3.jar
+
+
com.jfinal
@@ -185,12 +209,12 @@
dom4j
2.1.3
+
redis.clients
jedis
- 3.8.0
+ 3.9.0
-
org.apache.httpcomponents
httpmime
diff --git a/FengHuang/src/main/java/Tools/Xgk/Doc/ReadXGK.md b/FengHuang/src/main/java/Tools/Xgk/Doc/ReadXGK.md
deleted file mode 100644
index 18fa74d..0000000
--- a/FengHuang/src/main/java/Tools/Xgk/Doc/ReadXGK.md
+++ /dev/null
@@ -1,63 +0,0 @@
-### ݱṹ
-```c++
-mysqldump -h localhost -uroot -pDsideaL147258369 -d gtzz_base_db t_xgk_student t_xgk_teacher t_xgk_xzb v_xgk_kc v_xgk_kc_tea_releation > xgk.sql;
-sz xgk.sql;
-```
-**ע:-dʾҪݣֻҪṹȥ-dҪҪṹ**
-
-οϣ
-[/*!40101ĺ](https://blog.csdn.net/sinat_30990593/article/details/81295538)
-
-### Finish
-* ʦ
-* ༶ѧ
-
-
-ǡͨ/ϢһһڵĻҪΪΪ
-
-
-### TODO
-* γ̼ƻʦ
- * ʣʦܿʱܹȡĬ20
- ᣬֻԶʦʱЧ
-* ѧѡģ
-* ομƻ
-
-ϵͳнʦݣҪСˣΪܻݲһ·
-Ǿͻһ⣬ομƻΪ滹ṩһ**ѧƽʦʦܿʱ**оܼˣ
-ΪţǻҪǸ**ѧƽʦʦܿʱ**ɶãУ~
-
----
-
-* ҪȷϿγǷϵͳ,γӦѧУĸȫֵĸûеĿγҪάϵͳ
-ѧƹдѧơ
-
-* Ҫ֤ŵĸѧڵĿγ̣ѧڵȸһҪѡáڸľͲøˡ
-* ÿѧԼѧѡȫΨһҪϸƷζ˼
-* γ̼ƻѧΣ꼶ѧڣģʽ߰ģʽγDzȱ
-* γ̼ƻǿԶġ
-* ʱEXCELôͬݿУ
-* ʣ۰̨̨ôڻı**Իıſΰ༶ʱȥ**
-* ȰҪģڻıȥá༶
-* γ̼ƻţһż죬缸ڣ缸
-* ѡμƻ
- * ѡƼƻƣ
- * ѡƼƻͣԤѡʽѡν
- * ѡģʽνƵѡǵ3ѧѡ塣
- * ߿ģʽͬʱѡѧγ̣ѡ
- * ʼںͽڣ
- * γ̼ƻҪӦ
- * ѡư༶һҪѡ
- * ýԴԭ7࣬Ҳ7
- * СſӰ첻һС3055ҲԲޡѧУʵĶܷ
- * ɼѡȡ
-
-һ£
-
-* ģ壺ѡμƻдȥȻ
- * ѧѡģ壺EXCEL־ԸϢ취뵽
- * ѧǣ
- * ڵ ѧѡģ塡ʱҪʹð༶+ѧİ취е,ͨsubstrȡ2020ǰ5ַĽƥ
- * ͬ࣬ͬѧҪӱС
-
-Σѧ֧࣬
\ No newline at end of file
diff --git a/FengHuang/src/main/java/UnitTest/Producer.java b/FengHuang/src/main/java/UnitTest/Producer.java
deleted file mode 100644
index f0b0b90..0000000
--- a/FengHuang/src/main/java/UnitTest/Producer.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package UnitTest;
-import org.apache.rocketmq.client.producer.DefaultMQProducer;
-import org.apache.rocketmq.client.producer.SendResult;
-import org.apache.rocketmq.common.message.Message;
-
-import java.util.UUID;
-
-/**
- * @Date 2021-04-20 15:40
- */
-public class Producer {
-
- public static void main(String[] args) throws Exception {
- //声明发送者
- DefaultMQProducer producer = new DefaultMQProducer("default_producter_group");
- producer.setNamesrvAddr("10.10.14.231:9876");
- producer.start();
- //发送
- String body = "你好 RocketMQ";
- Message message = new Message("TopicXuanKe", null, body.getBytes());
- message.setKeys(UUID.randomUUID().toString());
- SendResult sendResult = producer.send(message);
- System.out.printf("发送结果:%s%n", sendResult);
- //关闭生产者
- producer.shutdown();
- }
-}
\ No newline at end of file
diff --git a/FengHuang/src/main/java/UnitTest/Consumer.java b/FengHuang/src/main/java/UnitTest/TestRocketMqConsumer.java
similarity index 83%
rename from FengHuang/src/main/java/UnitTest/Consumer.java
rename to FengHuang/src/main/java/UnitTest/TestRocketMqConsumer.java
index b624d3d..ecd96ca 100644
--- a/FengHuang/src/main/java/UnitTest/Consumer.java
+++ b/FengHuang/src/main/java/UnitTest/TestRocketMqConsumer.java
@@ -8,12 +8,12 @@ import org.apache.rocketmq.common.consumer.ConsumeFromWhere;
/**
* @Date 2021-04-20 15:47
*/
-public class Consumer {
+public class TestRocketMqConsumer {
public static void main(String[] args) throws Exception {
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("default_consumer_group");
- consumer.setNamesrvAddr("10.10.14.231:9876");
+ consumer.setNamesrvAddr("10.10.14.169:9876");
consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);
- consumer.subscribe("TopicXuanKe", "*");//订阅topic和tag设置
+ consumer.subscribe("name", "*");//订阅topic和tag设置
consumer.registerMessageListener((MessageListenerConcurrently) (msgs, context) -> {
String body = new String(msgs.get(0).getBody());
System.out.printf("消息内容:%s%n", body);
diff --git a/FengHuang/src/main/java/UnitTest/TestRocketMqProducer.java b/FengHuang/src/main/java/UnitTest/TestRocketMqProducer.java
new file mode 100644
index 0000000..270edce
--- /dev/null
+++ b/FengHuang/src/main/java/UnitTest/TestRocketMqProducer.java
@@ -0,0 +1,35 @@
+package UnitTest;
+
+import org.apache.rocketmq.client.producer.DefaultMQProducer;
+import org.apache.rocketmq.client.producer.SendResult;
+import org.apache.rocketmq.common.message.Message;
+
+import java.util.UUID;
+
+/**
+ * @Date 2021-04-20 15:40
+ */
+public class TestRocketMqProducer {
+
+ public static void main(String[] args) throws Exception {
+ //声明发送者
+ DefaultMQProducer producer = new DefaultMQProducer("default_producter_group");
+ producer.setNamesrvAddr("10.10.14.169:9876");
+ producer.start();
+ //发送
+ //43778 ms
+ long startTime = System.currentTimeMillis();
+ for (int i = 1; i <= 100000; i++) {
+ String body = "I am ChengXuYuan!Hello World!" + i;
+ Message message = new Message("name", null, body.getBytes());
+ message.setKeys(UUID.randomUUID().toString());
+ SendResult sendResult = producer.send(message);
+ }
+ long endTime = System.currentTimeMillis();
+ long totalTime = endTime - startTime;
+ System.out.println(totalTime);
+ //System.out.printf("发送结果:%s%n", sendResult);
+ //关闭生产者
+ producer.shutdown();
+ }
+}
\ No newline at end of file
diff --git a/FengHuang/src/main/java/UnitTest/TestWriteMysql.java b/FengHuang/src/main/java/UnitTest/TestWriteMysql.java
new file mode 100644
index 0000000..b942c2d
--- /dev/null
+++ b/FengHuang/src/main/java/UnitTest/TestWriteMysql.java
@@ -0,0 +1,32 @@
+package UnitTest;
+
+import com.jfinal.kit.PathKit;
+import com.jfinal.kit.PropKit;
+import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
+import com.jfinal.plugin.activerecord.Db;
+import com.jfinal.plugin.activerecord.Record;
+import com.jfinal.plugin.druid.DruidPlugin;
+
+import java.io.File;
+import java.util.List;
+
+public class TestWriteMysql {
+ public static void main(String[] args) {
+ String jdbcUrl = "jdbc:mysql://10.10.14.169:22066/db0?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai";
+ DruidPlugin druid = new DruidPlugin(jdbcUrl, "root", "DsideaL147258369", "com.mysql.cj.jdbc.Driver");
+ druid.start();
+ // 配置ActiveRecord插件
+ ActiveRecordPlugin arp = new ActiveRecordPlugin(druid);
+ arp.start();
+
+ //写入速度:42207ms
+ String sql = "insert into t1(name) values(?)";
+ long startTime = System.currentTimeMillis();
+ for(int i=1;i<=100000;i++){
+ Db.update(sql,"I am ChengXuYuan!Hello World!" + i);
+ }
+ long endTime = System.currentTimeMillis();
+ long totalTime = endTime - startTime;
+ System.out.println(totalTime);
+ }
+}
diff --git a/FengHuang/src/main/java/UnitTest/TestWritePika.java b/FengHuang/src/main/java/UnitTest/TestWritePika.java
new file mode 100644
index 0000000..18108e1
--- /dev/null
+++ b/FengHuang/src/main/java/UnitTest/TestWritePika.java
@@ -0,0 +1,56 @@
+package UnitTest;
+
+import com.jfinal.plugin.redis.Redis;
+import com.jfinal.plugin.redis.RedisPlugin;
+import redis.clients.jedis.Pipeline;
+
+public class TestWritePika {
+ public static void main(String[] args) {
+ /*
+ Pika
+ 非pipeline操作10000次字符串数据类型set写入,耗时:4298毫秒
+ pipeline操作10000次字符串数据类型set写入,耗时:254毫秒
+ */
+ //RedisPlugin redis = new RedisPlugin("myRedis", "10.10.14.169", 9221, 10 * 1000);
+
+ /*
+ Centos 6+Redis 5
+ 非pipeline操作100000次字符串数据类型set写入,耗时:22813毫秒
+ pipeline操作100000次字符串数据类型set写入,耗时:236毫秒
+ */
+ //RedisPlugin redis = new RedisPlugin("myRedis", "10.10.14.199", 18890, 10 * 1000);
+
+ /*
+ Centos 7+Redis 7
+ 非pipeline操作10000次字符串数据类型set写入,耗时:2701毫秒
+ pipeline操作10000次字符串数据类型set写入,耗时:45毫秒
+ */
+ //RedisPlugin redis = new RedisPlugin("myRedis", "10.10.14.67", 6379, 10 * 1000);
+
+ /*
+ OpenEuler+Redis 7
+ 非pipeline操作100000次字符串数据类型set写入,耗时:39698毫秒
+ pipeline操作100000次字符串数据类型set写入,耗时:249毫秒
+ */
+ RedisPlugin redis = new RedisPlugin("myRedis", "10.10.14.62", 6379, 10 * 1000);
+
+ //结论:如果有预热登录账号到redis的场景,那么这个管道将非常有用。
+ redis.start();
+
+ long setStart = System.currentTimeMillis();
+ for (int i = 0; i < 100000; i++) {
+ Redis.use().set("key_" + i, String.valueOf(i));
+ }
+ long setEnd = System.currentTimeMillis();
+ System.out.println("非pipeline操作100000次字符串数据类型set写入,耗时:" + (setEnd - setStart) + "毫秒");
+
+ long pipelineStart = System.currentTimeMillis();
+ Pipeline pipeline = Redis.use().getJedis().pipelined();
+ for (int i = 0; i < 100000; i++) {
+ pipeline.set("key_" + i, String.valueOf(i));
+ }
+ pipeline.sync();
+ long pipelineEnd = System.currentTimeMillis();
+ System.out.println("pipeline操作100000次字符串数据类型set写入,耗时:" + (pipelineEnd - pipelineStart) + "毫秒");
+ }
+}
diff --git a/FengHuang/src/main/java/com/dsideal/FengHuang/Start.java b/FengHuang/src/main/java/com/dsideal/FengHuang/Start.java
index 5229a7d..bd126e7 100644
--- a/FengHuang/src/main/java/com/dsideal/FengHuang/Start.java
+++ b/FengHuang/src/main/java/com/dsideal/FengHuang/Start.java
@@ -28,8 +28,10 @@ import com.jfinal.plugin.druid.DruidPlugin;
import com.jfinal.plugin.druid.DruidStatViewHandler;
import com.jfinal.plugin.druid.IDruidStatViewAuth;
import com.jfinal.plugin.redis.RedisPlugin;
+import com.jfinal.plugin.redis.serializer.ISerializer;
import com.jfinal.server.undertow.UndertowServer;
import com.jfinal.template.Engine;
+import redis.clients.jedis.util.SafeEncoder;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
@@ -149,6 +151,35 @@ public class Start extends JFinalConfig {
me.add(arp);
// 用于缓存模块的redis服务
RedisPlugin redis = new RedisPlugin("myRedis", PropKit.get("redis_ip"), PropKit.getInt("redis_port"), 10 * 1000);
+ redis.setSerializer(new ISerializer() {
+ @Override
+ public byte[] keyToBytes(String key) {
+ return SafeEncoder.encode(key);
+ }
+ @Override
+ public String keyFromBytes(byte[] bytes) {
+ return SafeEncoder.encode(bytes);
+ }
+ @Override
+ public byte[] fieldToBytes(Object field) {
+ return valueToBytes(field);
+ }
+ @Override
+ public Object fieldFromBytes(byte[] bytes) {
+ return valueFromBytes(bytes);
+ }
+ @Override
+ public byte[] valueToBytes(Object value) {
+ return SafeEncoder.encode(value.toString());
+ }
+ @Override
+ public Object valueFromBytes(byte[] bytes) {
+ if(bytes == null || bytes.length == 0)
+ return null;
+ return SafeEncoder.encode(bytes);
+ }
+ });
+
//启动redis组件
me.add(redis);
}
diff --git a/FengHuang/src/main/resource/application.properties b/FengHuang/src/main/resource/application.properties
index e4c87c8..bc48bc6 100644
--- a/FengHuang/src/main/resource/application.properties
+++ b/FengHuang/src/main/resource/application.properties
@@ -5,7 +5,7 @@ password=DsideaL147258369
#jdbcUrl=jdbc:mysql://10.10.14.169:22066/FengHuang_db?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
jdbcUrl=jdbc:mysql://10.10.14.169:22066/db0?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
# redis ip
-redis_ip=10.10.14.169
+redis_ip=10.10.14.199
# redis port
redis_port=18890
# ==============================================================
diff --git a/FengHuang/target/classes/application.properties b/FengHuang/target/classes/application.properties
index e4c87c8..bc48bc6 100644
--- a/FengHuang/target/classes/application.properties
+++ b/FengHuang/target/classes/application.properties
@@ -5,7 +5,7 @@ password=DsideaL147258369
#jdbcUrl=jdbc:mysql://10.10.14.169:22066/FengHuang_db?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
jdbcUrl=jdbc:mysql://10.10.14.169:22066/db0?rewriteBatchedStatements=true&useUnicode=true&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
# redis ip
-redis_ip=10.10.14.169
+redis_ip=10.10.14.199
# redis port
redis_port=18890
# ==============================================================