<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ### 簡單了解 1.思考,為啥用druid? > Druid是一個高效的數據查詢系統,主要解決的是對于大量的基于時序的數據進行聚合查詢。數據可以實時攝入,進入到Druid后立即可查,同時數據是幾乎是不可變。通常是基于時序的事實事件,事實發生后進入Druid,外部系統就可以對該事實進行查詢。 Druid采用的架構: shared-nothing架構與lambda架構 Druid設計三個原則: 1.快速查詢(Fast Query) : 部分數據聚合(Partial Aggregate) + 內存華(In-Memory) + 索引(Index) 2.水平拓展能力(Horizontal Scalability):分布式數據(Distributed data)+并行化查詢(Parallelizable Query) 3.實時分析(Realtime Analytics):Immutable Past , Append-Only Future 2.Druid的技術特點 * 數據吞吐量大 * 支持流式數據攝入和實時 * 查詢靈活且快速 **反正就是很厲害了,** ### 引入依賴 ~~~ <!--druid--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.20</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.20</version> </dependency> ~~~ 數據庫配置 ~~~ ## 數據庫訪問配置 spring.datasource.druid.db-type=com.alibaba.druid.pool.DruidDataSource spring.datasource.druid.driverClassName=com.mysql.jdbc.Driver spring.datasource.druid.url=jdbc:mysql://118.24.93.185:3306/blog?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false spring.datasource.druid.username=blog spring.datasource.druid.password=123456 # 下面為連接池的補充設置,應用到上面所有數據源中 # 初始化大小,最小,最大 spring.datasource.druid.initial-size=5 spring.datasource.druid.min-idle=5 spring.datasource.druid.max-active=20 # 配置獲取連接等待超時的時間 spring.datasource.druid.max-wait=60000 # 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒 spring.datasource.druid.time-between-eviction-runs-millis=60000 # 配置一個連接在池中最小生存的時間,單位是毫秒 spring.datasource.druid.min-evictable-idle-time-millis=300000 spring.datasource.druid.validation-query=SELECT 1 FROM DUAL spring.datasource.druid.test-while-idle=true spring.datasource.druid.test-on-borrow=false spring.datasource.druid.test-on-return=false # 打開PSCache,并且指定每個連接上PSCache的大小 spring.datasource.druid.pool-prepared-statements=true spring.datasource.druid.max-pool-prepared-statement-per-connection-size=20 # 配置監控統計攔截的filters,去掉后監控界面sql無法統計,'wall'用于防火墻 spring.datasource.druid.filter.commons-log.connection-logger-name=stat,wall,log4j spring.datasource.druid.filter.stat.log-slow-sql=true spring.datasource.druid.filter.stat.slow-sql-millis=2000 # 通過connectProperties屬性來打開mergeSql功能;慢SQL記錄 spring.datasource.druid.connect-properties.=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 # 合并多個DruidDataSource的監控數據 spring.datasource.druid.use-global-data-source-stat=true ~~~ ### 新建ruidConfig文件 ~~~ package com.blog.config; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.support.http.StatViewServlet; import com.alibaba.druid.support.http.WebStatFilter; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.web.servlet.FilterRegistrationBean; import org.springframework.boot.web.servlet.ServletRegistrationBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import javax.sql.DataSource; import java.util.Arrays; import java.util.HashMap; import java.util.Map; /** * @author cfun * @description * @date 2019-11-19 */ @Configuration public class DruidConfig { // 將所有前綴為spring.datasource下的配置項都加載到DataSource中 @ConfigurationProperties(prefix = "spring.datasource.druid") @Bean public DataSource druidDataSource() { return new DruidDataSource(); } @Bean public ServletRegistrationBean druidStatViewServlet() { ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(),"/druid/*"); Map<String, String> initParams = new HashMap<>(); // 可配的屬性都在 StatViewServlet 和其父類下 initParams.put("loginUsername", "cfun"); initParams.put("loginPassword", "123456"); servletRegistrationBean.setInitParameters(initParams); return servletRegistrationBean; } @Bean public FilterRegistrationBean druidWebStatFilter() { FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(new WebStatFilter()); Map<String, String> initParams = new HashMap<>(); initParams.put("exclusions", "*.js,*.css,/druid/*"); filterRegistrationBean.setInitParameters(initParams); filterRegistrationBean.setUrlPatterns(Arrays.asList("/*")); return filterRegistrationBean; } } ~~~ 訪問地址 [http://localhost:8082/druid/index.html](http://localhost:8082/druid/index.html) ![](https://img.kancloud.cn/e6/17/e617de92a551922e710e10ef8159536d_2214x1072.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看