diff --git a/src/org/redkale/source/DataMemorySource.java b/src/org/redkale/source/DataMemorySource.java
new file mode 100644
index 000000000..9e24f95c3
--- /dev/null
+++ b/src/org/redkale/source/DataMemorySource.java
@@ -0,0 +1,141 @@
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package org.redkale.source;
+
+import java.io.Serializable;
+import java.net.URL;
+import java.sql.ResultSet;
+import java.util.*;
+import java.util.concurrent.*;
+import java.util.function.Consumer;
+import org.redkale.service.Local;
+import org.redkale.util.*;
+
+/**
+ *
+ *
+ * @author zhangjx
+ */
+/**
+ * DataSource的Memory实现类
+ * 注意: javax.persistence.jdbc.url 需要指定为 memory:source
+ *
+ *
+ * 详情见: https://redkale.org
+ *
+ * @author zhangjx
+ */
+@Local
+@AutoLoad(false)
+@SuppressWarnings("unchecked")
+@ResourceType(DataSource.class)
+public class DataMemorySource extends DataSqlSource {
+
+ public DataMemorySource(String unitName, URL persistxml, Properties readprop, Properties writeprop) {
+ super(unitName, persistxml, readprop, writeprop);
+ this.cacheForbidden = false;
+ }
+
+ @Local
+ @Override
+ public String getType() {
+ return "memory";
+ }
+
+ @Override
+ protected boolean isOnlyCache(EntityInfo info) {
+ return true;
+ }
+
+ @Local
+ @Override
+ public int directExecute(String sql) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Local
+ @Override
+ public int[] directExecute(String... sqls) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Local
+ @Override
+ public void directQuery(String sql, Consumer consumer) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ protected boolean isAsync() {
+ return true;
+ }
+
+ @Override
+ protected String prepareParamSign(int index) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ protected PoolSource createPoolSource(DataSource source, String rwtype, ArrayBlockingQueue queue, Properties prop) {
+ return null;
+ }
+
+ @Override
+ protected CompletableFuture insertDB(EntityInfo info, T... values) {
+ return CompletableFuture.completedFuture(0);
+ }
+
+ @Override
+ protected CompletableFuture deleteDB(EntityInfo info, Flipper flipper, String sql) {
+ return CompletableFuture.completedFuture(0);
+ }
+
+ @Override
+ protected CompletableFuture updateDB(EntityInfo info, T... values) {
+ return CompletableFuture.completedFuture(0);
+ }
+
+ @Override
+ protected CompletableFuture updateDB(EntityInfo info, Flipper flipper, String sql, boolean prepared, Object... params) {
+ return CompletableFuture.completedFuture(0);
+ }
+
+ @Override
+ protected CompletableFuture