如何使用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"
|