『壹』 java怎樣將數據保存到緩存中,之後再保存
Java中可以使用隊列來保存數據,當使用的時候,加上鎖,防止其他進程訪問,當不用的時候保存到資料庫裡面,示例如下:
packagecom.henry;
importjava.util.HashMap;
importjava.util.Map;
importjava.util.Random;
importjava.util.concurrent.locks.ReadWriteLock;
importjava.util.concurrent.locks.ReentrantReadWriteLock;
publicclassCacheDataTest{
staticMap<Integer,Object>dataMap=newHashMap<Integer,Object>();
staticReadWriteLocklock=newReentrantReadWriteLock();//創建讀寫鎖的實例
staticObjectgetData(Integerkey){
lock.readLock().lock();//讀取前先上鎖
Objectval=null;
try{
val=dataMap.get(key);
if(val==null){
//
lock.readLock().unlock();
lock.writeLock().lock();
try{
//可能已經由其他線程寫入數據
if(val==null){
//dataMap.put(key,"");//queryfromdb
val=queryDataFromDB(key);
}
}finally{
//
lock.readLock().lock();
//Unlockwrite,stillholdread
lock.writeLock().unlock();
}
}
}finally{
lock.readLock().unlock();//最後一定不要忘記釋放鎖
}
System.out.println("getdatakey="+key+">val="+val);
returnval;
}
staticObjectqueryDataFromDB(Integerkey){
Objectval=newRandom().nextInt(1000);
dataMap.put(key,val);
System.out.println("writeintodatakey="+key+">val="+val);
returnval;
}
publicstaticvoidmain(String[]args){
for(inti=0;i<10;i++){
newThread(newRunnable(){publicvoidrun(){
getData(newRandom().nextInt(5));
}}).start();
}
}
}
『貳』 怎麼寫一個緩存把從資料庫中的數據放入緩存中,在頁面直接讀取緩存中的數據
先定義成結構,把表裡的欄位存進結構,然後把結構定義成vector,把結構存入vector,也就是緩存了,要的時候取就是了
『叄』 MySQL資料庫怎麼導出數據
方法一
cmd 到mysql bin目錄下用 如下命令 mysqlmp --opt -h192.168.0.156 -uusername -ppassword --skip-lock-tables databasename>database.sql
把ip改成localhost就可以的
如果裝了navicate那就更簡單了 先連接上資料庫,選中資料庫 再選擇轉儲sql 就好了
方法二
進入cmd (注意在os cmd中 而不是在mysql中)
===================
1.導出資料庫(sql腳本)
mysqlmp -u 用戶名 -p 資料庫名 > 導出的文件名
mysqlmp -u root -p db_name > test_db.sql
2.mysql導出資料庫一個表
mysqlmp -u 用戶名 -p 資料庫名 表名> 導出的文件名
mysqlmp -u wcnc -p test_db users> test_users.sql (結尾沒有分號)
方法三
啟動mysql服務
/etc/init.d/mysql start
導出整個資料庫
mysqlmp dbname > c:mydb.sql -u root -p
導入資料庫
source mydb.sql
mysql -u用戶名 -p 資料庫名 < 資料庫名.sql
更詳細的導入資料庫教程
2.1. 導出sql腳本
在原資料庫伺服器上,可以用php教程myadmin工具,或者mysqlmp(mysqlmp命令位於mysql/bin/目錄中)命令行,導出sql腳本。
2.1.1 用php(www.111cn.net)myadmin工具
導出選項中,選擇導出"結構"和"數據",不要添加"drop database"和"drop table"選項。
選中"另存為文件"選項,如果數據比較多,可以選中"gzipped"選項。
將導出的sql文件保存下來。
2.1.2 用mysqlmp命令行
命令格式
mysqlmp -u用戶名 -p 資料庫名 > 資料庫名.sql
範例:
mysqlmp -uroot -p abc > abc.sql
(導出資料庫abc到abc.sql文件)
提示輸入密碼時,輸入該資料庫用戶名的密碼。
2.2. 創建空的資料庫
通過主控界面/控制面板,創建一個資料庫。假設資料庫名為abc,資料庫全權用戶為abc_f。
2.3. 將sql腳本導入執行
同樣是兩種方法,一種用phpmyadmin(mysql資料庫管理)工具,或者mysql命令行。
2.3.1 用phpmyadmin工具
從控制面板,選擇創建的空資料庫,點"管理",進入管理工具頁面。
在"sql"菜單中,瀏覽選擇剛才導出的sql文件,點擊"執行"以上載並執行。
注意:phpmyadmin對上載的文件大小有限制,php本身對上載文件大小也有限制,如果原始sql文件
比較大,可以先用gzip對它進行壓縮,對於sql文件這樣的文本文件,可獲得1:5或更高的壓縮率。
gzip使用方法:
# gzip xxxxx.sql
得到
xxxxx.sql.gz文件。
2.3.2 用mysql命令行
命令格式
mysql -u用戶名 -p 資料庫名 < 資料庫名.sql
範例:
mysql -uabc_f -p abc < abc.sql
(導入資料庫abc從abc.sql文件)
提示輸入密碼時,輸入該資料庫用戶名的密碼。
『肆』 如何把資料庫里的數據導出來
材料/工具:SQL Server
1、打開SQL Server,找到需要導出的資料庫。