1. 程式人生 > >如何使用redis快取加索引處理資料庫百萬級併發

如何使用redis快取加索引處理資料庫百萬級併發

前言:事先說明:在實際應用中這種做法設計需要各位讀者自己設計,本文只提供一種思想。準備工作:安裝後本地數redis伺服器,使用mysql資料庫,事先插入1000萬條資料,可以參考我之前的文章插入資料,這裡不再細說。我大概的做法是這樣的,編碼使用多執行緒訪問我的資料庫,在訪問資料庫前先訪問redis快取沒有的話在去查詢資料庫,需要注意的是redis最大連線數最好設定為300,不然會出現很多報錯。

 貼一下程式碼吧

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 package select; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public class SelectFromMysql { public static void main(String[] args) { JedisPool pool; JedisPoolConfig config = new JedisPoolConfig();//建立redis連線池 // 設定最大連線數,-1無限制
config.setMaxTotal(300); // 設定最大空閒連線 config.setMaxIdle(100); // 設定最大阻塞時間,記住是毫秒數milliseconds config.setMaxWaitMillis(100000); // 建立連線池 pool = new JedisPool(config, "127.0.0.1"6379,200000); for (int i =9222000; i <=9222200; i++) {//這裡自己設定用多少執行緒併發訪問 String teacherName=String.valueOf(i);
new ThreadToMysql(teacherName, "123456"

相關推薦

如何使用redis快取索引處理資料庫百萬併發

前言:事先說明:在實際應用中這種做法設計需要各位讀者自己設計,本文只提供一種思想。準備工作:安裝後本地數redis伺服器,使用mysql資料庫,事先插入1000萬條資料,可以參考我之前的文章插入資料,這裡不再細說。我大概的做法是這樣的,編碼使用多執行緒訪問我的資料庫,

使用redis快取索引處理資料庫百萬併發

前言:事先說明:在實際應用中這種做法設計需要各位讀者自己設計,本文只提供一種思想。準備工作:安裝後本地數redis伺服器,使用mysql資料庫,事先插入1000萬條資料,可以參考我之前的文章插入資料,這裡不再細說。我大概的做法是這樣的,編碼使用多執行緒訪問我的資料庫,在訪問資料庫前先訪問redis快取

Oracle資料庫查詢優化方案(處理百萬記錄如何提高處理查詢速度)

1.對查詢進行優化,應儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。2.應儘量避免在 where 子句中對欄位進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描,如:select id from t where num is null可以在num上設定預設

關於redis快取時間過期處理 ----在專案中的使用

一.專案目錄 二.關於redis處理類 JedisClient.java package com.taotao.rest.dao; public interface JedisClient { /** * 獲取String資料型別 * @param k

java Redis快取protostuff反序列例項

好處:使用Redis提高程式碼的執行速度,比每次都從資料庫中獲取快,protostuff反序列比java 自身的反序列的速度更快 一、需要現在電腦安裝redio 二、工程中需要匯入的jar的包      1、jedis-2.7.3.jar(支援redis)      

Redis快取維護方案-考慮資料庫快取雙寫、redis和本地資料庫事務一致性、資料庫主從同步延遲的情況怎麼解決快取資料庫不一致

一般常用的快取方案有兩種: 第一種 讀的時候,先讀快取,快取沒有的話,讀資料庫,取出資料後放入快取,同時返回響應。 更新的時候,

百萬併發 Node.js也能行

摘要:近來,Node.js正逐漸受到開發者的追捧,想知道在面對100萬個併發連線情況下Node.js是如何處理的嗎?Node.js說:“沒什麼不可以,百萬級併發,我也行!” Node.js是建立在Google

支撐百萬併發,Netty如何實現高效能記憶體管理

Netty作為一款高效能網路應用程式框架,實現了一套高效能記憶體管理機制 通過學習其中的實現原理、演算法、併發設計,有利於我們寫出更優雅、更高效能的程式碼;當使用Netty時碰到記憶體方面的問題時,也可以更高效定位排查出來 本文基於Netty4.1.43.Final介紹其中的記憶體管理機制 ByteBuf

百萬資料庫效能優化(一)——建立索引

對查詢進行優化,要儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。 為了能夠使用索引,我們應該避免使用以下查詢方式: 2.應儘量避免在 where 子句中對欄位進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表

記憶體快取>Redis快取>資料庫

情況描述:     有以下幾張表,單據表(t_bill)、貨物表(t_cargo)、原料表(t_raw_material)、配置表(t_configure),表關係如下:      一張單據對應多個貨物資訊,每種貨物都有

處理百萬以上數據提高查詢速度的方法

pro 需要 存儲空間 and 包括 col sql查詢 意義 調整 1.應盡量避免在 where 子句中使用!=或<>操作符,否則將引擎放棄使用索引而進行全表掃描。 2.對查詢進行優化,應盡量避免全表掃描,首先應考慮在 where 及 order by 涉及的

處理百萬以上的數據提高查詢速度的方法

大服務 合並行 系統 int read_only raid select 線程數 總數 處理百萬級以上的數據提高查詢速度的方法: 1.應盡量避免在 where 子句中使用!=或<>操作符,否則將引擎放棄使用索引而進行全表掃描。

MySQL百萬資料庫查詢優化技巧

1.對查詢進行優化,應儘量避免全表掃描,首先應考慮在 where 及 order by 涉及的列上建立索引。 2.應儘量避免在 where 子句中對欄位進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描,如: select id from t where nu

百萬PV架構中redis快取服務群集部署

redis簡介 redis是一個key-value儲存系統。和Memcached類似,它支援儲存的value型別相對更多,包括string(字串)、list(連結串列)、set(集合)、zset(sorted set --有序集合)和hash(雜湊型別)。這些資料型別都支援push/pop、add/remo

springboot中提升資料庫效能-redis快取和資料監控

1.最近在看springboot ,簡單做一個記錄 一個很強大的工具 -druid   上圖自己體會吧 關於redis做快取已經很普通了,給程式碼自己體會下 感謝大神:https://github.com/chenfromsz/spring-boot-dbu

資料庫SQL優化大總結之 百萬資料庫面試優化方案

網上關於SQL優化的教程很多,但是比較雜亂。近日有空整理了一下,寫出來跟大家分享一下,其中有錯誤和不足的地方,還請大家糾正補充。 這篇文章我花費了大量的時間查詢資料、修改、排版,希望大家閱讀之後,感覺好的話推薦給更多的人,讓更多的人看到、糾正以及補充。   一、百萬級資料庫優化

資料庫mysql索引

1.新增PRIMARY KEY(主鍵索引): ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )  2.新增UNIQUE(唯一索引) : ALTER TABLE `table_name` ADD U

Web 功能測試下的 Redis快取資料庫

做web功能測試,最應該瞭解的一塊知識點 。 作為一名出色的功能測試工程師,真的不是隨便點點就可以,需要從多方面去了解一個專案,一個系統的原理,配置,才可以更好,更完善的做好測試。 今天給大家分享一篇關於Redis的作用和使用場景的文章。   1、Redis 一、為什麼

php - 從資料庫匯出百萬資料(CSV檔案)

將資料庫連線資訊、查詢條件、標題資訊替換為真實資料即可使用。 <?php set_time_limit(0); ini_set('memory_limit', '128M'); $fileName = date('YmdHis', time()); header('Content-

百萬資料庫記錄下的Mysql快速分頁優化例項

百萬級資料庫記錄下的Mysql快速分頁優化例項   MySql 效能到底能有多高?用了php半年多,真正如此深入的去思考這個問題還是從前天開始。有過痛苦有過絕望,到現在充滿信心!MySql 這個資料庫絕對是適合dba級的高手去玩的,一般做一點1萬篇新聞的小