• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

    將MySQL數(shù)據(jù)映射到Memcached中

    來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-09 15:40:08
    文檔

    將MySQL數(shù)據(jù)映射到Memcached中

    將MySQL數(shù)據(jù)映射到Memcached中:作者:張立冰 出處:http://www.libing.name/2009/02/06/mysql-map-data-to-memcachedmysql-map-data-to-memcached.html 差不多在一年前,寫過一篇文章介紹將MySQL數(shù)據(jù)映射到Memcached,當(dāng)時MySQL和Memcached Functions
    推薦度:
    導(dǎo)讀將MySQL數(shù)據(jù)映射到Memcached中:作者:張立冰 出處:http://www.libing.name/2009/02/06/mysql-map-data-to-memcachedmysql-map-data-to-memcached.html 差不多在一年前,寫過一篇文章介紹將MySQL數(shù)據(jù)映射到Memcached,當(dāng)時MySQL和Memcached Functions

    作者:張立冰 出處:http://www.libing.name/2009/02/06/mysql-map-data-to-memcachedmysql-map-data-to-memcached.html 差不多在一年前,寫過一篇文章介紹將MySQL數(shù)據(jù)映射到Memcached,當(dāng)時MySQL和Memcached Functions for MySQL都還不夠成熟,時過一年,Memc

    作者:張立冰
    出處:http://www.libing.name/2009/02/06/mysql-map-data-to-memcachedmysql-map-data-to-memcached.html

    差不多在一年前,寫過一篇文章介紹將MySQL數(shù)據(jù)映射到Memcached,當(dāng)時MySQL和Memcached Functions for MySQL都還不夠成熟,時過一年,Memcached Functions for MySQL

    測試環(huán)境在Linux下進行,版本系統(tǒng)為CentOS5.
    以下為相關(guān)軟件,包括其版本和下載地址:

    mysql-5.1.30 下載
    memcached-1.2.6 下載
    libevent-1.4.7-stable 下載
    memcached_functions_mysql-0.8 下載
    libmemcached-0.26 下載


    編譯安裝MySQL,安裝因個人細(xì)好而定,省略許多與測試無關(guān)的編譯細(xì)節(jié)及參數(shù)。

    [root@localhost ~]#tar xzf mysql-5.1.30.tar_001.gz
    [root@localhost ~]#cd mysql-5.1.30
    [root@localhost ~]#./configure --prefix=/usr/local/mysql51
    [root@localhost ~]#make
    [root@localhost ~]#make install
    [root@localhost ~]#./scripts/mysql_install_db --user=mysql --skip-name-resolve
    [root@localhost ~]#/usr/local/mysql51/bin/mysqld_safe

    省略列出安裝memcached和libevent的相關(guān)命令,具體可按照實際情況安裝,測試時我將libevent默認(rèn)安裝,memcached安裝于/usr/local/memcached目錄下。
    啟動memcached.

    /usr/local/memcached/bin/memcached -d -m 50 -u root -p 11211

    編譯安裝libmemcache.

    [root@localhost ~]#tar xzf libmemcached-0.26.tar.gz
    [root@localhost ~]#cd libmemcached-0.26
    [root@localhost ~]#./configure --with-memcached=/usr/local/memcached/bin/memcached
    [root@localhost ~]# make && make install

    編譯安裝Memcache UDFs for MySQL.

    [root@localhost ~]# tar xzf memcached_functions_mysql-0.8.tar.gz
    [root@localhost ~]# cd memcached_functions_mysql-0.8
    [root@localhost ~]# ./configure --with-mysql-config=/usr/local/mysql51/bin/mysql_config
    [root@localhost ~]# make && make install

    編譯完成后將編譯好的庫文件復(fù)制到mysql的插件目錄下,以便于加載使用。

    cp /usr/local/lib/libmemcached_functions_mysql* /usr/local/mysql51/lib/mysql/plugin/

    進入memcached_functions_mysql的源碼目錄,在目錄下有相關(guān)添加UDF的SQL文件用于初始化。

    [root@localhost ~]# mysql 

    注:如果對這些UDFs不熟悉或者不懂,可進行源碼目錄參看README,里邊有相應(yīng)的說明。

    至此,相關(guān)軟件的編譯和安裝完成,進行測試,我們要達到的目的是當(dāng)MySQL有新記錄插入時,同時插入到Memcached中,當(dāng)記錄更新時同步更 新Memcached中的記錄,刪除時同時也刪除Memcached相關(guān)的記錄,為此創(chuàng)建三個觸發(fā)器來實現(xiàn),如果對MySQL的觸發(fā)程序不熟悉可以參考 MySQL手冊第21章,下面SQL中的memcached為需要操作的表名,SQL如下:

    #插入數(shù)據(jù)時插入Memcached
    create trigger mysqlmmci after insert on memcached for each row set @tmp = memc_set(NEW.key, NEW.value);
    #更新記錄時更新Memcached
    create trigger mysqlmmcu after update on memcached for each row set @tmp = memc_set(NEW.key, NEW.value);
    #刪除記錄時刪除Memcached相應(yīng)的記錄
    create trigger mysqlmmcd before delete on memcached for each row set @tmp = memc_delete(OLD.key);

    以下為測試記錄,在對MySQL操作的同時操作Memcached來查看情況,當(dāng)然你也可以在啟動Memcached的時候帶-vv參數(shù)來查看相關(guān)信息.

    MySQL操作相關(guān)的記錄:

    [root@localhost ~]#mysql -S /tmp/mysql51.sock 
    Welcome to the MySQL monitor. Commands end with ; or /g.
    Your MySQL connection id is 6
    Server version: 5.1.30 Source distribution

    Type 'help;' or '/h' for help. Type '/c' to clear the buffer.

    mysql> use test;
    Database changed

    mysql> create table `memcached` (`key` varchar(10), `value` varchar(100));
    Query OK, 0 rows affected (0.00 sec)

    mysql> create trigger mysqlmmci after insert on memcached for each row set @tmp = memc_set(NEW.key, NEW.value);
    Query OK, 0 rows affected (0.00 sec)

    mysql> create trigger mysqlmmcu after update on memcached for each row set @tmp = memc_set(NEW.key, NEW.value);
    Query OK, 0 rows affected (0.00 sec)

    mysql> create trigger mysqlmmcd before delete on memcached for each row set @tmp = memc_delete(OLD.key);
    Query OK, 0 rows affected (0.00 sec)

    mysql> insert into memcached values("keyi", "valuei"),("keyu","valueu"),("keyd", "valued");
    Query OK, 3 rows affected (0.00 sec)
    Records: 3 Duplicates: 0 Warnings: 0

    mysql> update memcached set `value`="update" where `key`="keyu";
    Query OK, 1 row affected (0.00 sec)
    Rows matched: 1 Changed: 1 Warnings: 0

    mysql> delete from memcached where `key`="keyd";
    Query OK, 1 row affected (0.00 sec)

    mysql> quit
    Bye

    Memcache查看時的記錄:

    [root@localhost ~]#telnet 127.0.0.1 11211
    Trying 127.0.0.1...
    Connected to 127.0.0.1.
    Escape character is '^]'.
    get keyi
    VALUE keyi 0 6
    valuei
    END
    get keyu
    VALUE keyu 0 6
    valueu
    END
    get keyd
    VALUE keyd 0 6
    valued
    END
    get keyu
    VALUE keyu 0 6
    update
    END
    get keyd
    END
    quit
    Connection closed by foreign host.

    至此,我們基本實現(xiàn)的將MySQL的數(shù)據(jù)同步到Memcached中,性能暫時還沒有測試,當(dāng)然上面只是簡單的實現(xiàn)的數(shù)據(jù)映射的功能,如果在實現(xiàn)的 生產(chǎn)環(huán)境中,則需要考慮名字空間,高可靠性的問題,這些都是可以通過數(shù)據(jù)庫名-表名-關(guān)鍵字的方面能達到KEY唯一的目的,而高可靠性則是一個比較大的問 題。

    您可能還喜歡

  • 數(shù)據(jù)的并行壓縮
  • Random Tips
  • 將MySQL數(shù)據(jù)映射到Memcached
  • 提高 Linux 上 socket 性能
  • PHP5 像使用數(shù)組一樣使用Memcache
  • 聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    將MySQL數(shù)據(jù)映射到Memcached中

    將MySQL數(shù)據(jù)映射到Memcached中:作者:張立冰 出處:http://www.libing.name/2009/02/06/mysql-map-data-to-memcachedmysql-map-data-to-memcached.html 差不多在一年前,寫過一篇文章介紹將MySQL數(shù)據(jù)映射到Memcached,當(dāng)時MySQL和Memcached Functions
    推薦度:
    標(biāo)簽: 數(shù)據(jù) 映射 作者
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 欧美精品hdvideosex4k| 国产精品露脸国语对白| 国自产偷精品不卡在线| 国产激情精品一区二区三区| 亚洲AV无码成人精品区在线观看| 国产高清精品一区| 97精品人妻系列无码人妻| 日韩亚洲精品福利 | 四虎国产精品免费久久久| 精品国产福利一区二区| 日韩精品一区二区三区中文字幕| 无码国内精品久久人妻蜜桃| 精品国产热久久久福利| 亚洲国产精品久久66| 精品国产一区AV天美传媒| 日韩精品无码Av一区二区| 国产精品二区观看| 久久成人国产精品二三区| 国产精品免费观看调教网| 午夜精品一区二区三区免费视频 | 国产精品青草视频免费播放| 国产精品v欧美精品v日韩精品| 久久亚洲美女精品国产精品| 亚洲精品成人久久久| 男女男精品网站免费观看| 国产精品欧美久久久久无广告| 一本一道久久精品综合| 久久精品国产精品青草| 国内精品免费视频精选在线观看 | 亚洲精品天堂成人片?V在线播放| 国产精品自在欧美一区| 午夜精品美女自拍福到在线| 九九热精品在线| 四虎国产精品永久地址99新强| 99国产精品久久久久久久成人热| 久热这里只有精品视频6| 无码人妻精品一区二区在线视频| 亚洲精品无码久久毛片| 亚洲国产主播精品极品网红 | 99精品国产高清一区二区麻豆| 精品国产v无码大片在线观看|