看板 Soft_Job 關於我們 聯絡資訊
blog介紹:http://kewang.logdown.com/posts/281209 官網:http://hedis.io DEMO影片:https://www.youtube.com/watch?v=aAgJaqvgqLU
# 前言 上個月在ModernWeb聽了@ant大大的Redis talk之後,就在想是不是可以讓Redis直接連 到其他的database。因為一般情境都是在AP server有商業邏輯判斷是不是要去 In-memory database取資料(如:熱門文章、token...等),如果在In-memory database 取不到資料時,AP就會改到source database取資料,然後丟回In-memory database,之 後如果還要取同一筆資料時,直接在In-memory database讀取就可以了。 ![傳統架構]( http://i.imgur.com/KWiIGO7.png ) 後來因為想要省掉In-memory database再回AP取source database這一段的路徑(path), 所以我嘗試從Redis直接連到source database,就開發了[Hedis]( http://hedis.io )。 ![Hedis架構]( http://i.imgur.com/UfeT4xh.png ) 因為是從Redis得到的靈感,所以當然是從Redis那裡fork出來。而且我現在開發都是用 HBase,所以原本Hedis的全名是「HBase's Redis」,但後來覺得應該要支援各種 database才對,所以改成了「Hyper Redis」。 ## How to use 啟動時只要撰寫如下的YAML設定檔,然後執行`redis-server --hedis hedis.yml`就可以 了,目前的connector已經可以支援MySQL及HBase,但還要靠大家幫忙支援更多的 database才行。 cdh1: # connector name (REQUIRED) type: hbase # connector type (REQUIRED) zookeeper: localhost:2181 # other configuration (depends on its type) mysqltest: type: mysql username: root password: MY_PASSWORD host: localhost database: hedistest otherdb: type: gooddb ## GET command 目前支援的Redis command雖然只有get而已,但之後會依照不同database的特性而支援不 同的command。像是HBase原本就有scan的功能,所以之後應該也會支援Redis的scan。 # HBase example: # # get "kewang" rowkey at "user" table on "cdh1" connector GET "cdh1://user@kewang" # HBase example: # # get "kewang" rowkey at "user" table on "cdh1" connector, again GET "cdh1://!user@kewang" # MySQL example: # # Query one record at "user" table on "mysqltest" connector GET "mysqltest://select * from user limit 1" 當然也還有如下面的一大堆東西要開發,希望對Hedis有興趣的朋友可以一起來幫忙開發 喔 * output format support * git connector support * ...etc. ## References * [Hedis]( http://hedis.io ) * [GitHub]( http://git.hedis.io ) -- 雜七雜八的kewang部落格 http://kewang.tw -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.132.107.152 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1435591965.A.BC2.html
dritchie: 這個想法好 06/29 23:52
abccbaandy: 連結不要接著寫括號,PCMAN會整段當成連結 06/30 00:01
※ 編輯: kewang (220.132.107.152), 06/30/2015 00:04:54
tw0517tw: 伺服器 git.hedis.io 花了太久時間還是無回應。 06/30 01:14
kewang: 回樓上 其實就是 https://github.com/hedisdb 我剛試連的 06/30 01:28
kewang: 到耶 06/30 01:28
tw0517tw: https://github.com/hedisdb 可以 06/30 01:32
five07: 先推一個 06/30 02:39
ntddt: 未下先推 06/30 19:48
shuai: 推原po,也推ant大大 06/30 21:21
adms: 讚喔!但如果只是把 Redis 當 cache write back 改成 07/01 01:46
adms: write through, 這樣是有點大材小用 07/01 01:47
adms: 我倒是覺得把 Redis 改寫成 object-oriented database 07/01 01:49
adms: 應該也蠻有搞頭的, 因為現在 Object DB 都有效率差的問題 07/01 01:49
adms: 補充一下, 是在 Hedis上提供 Object DB的存取介面來相容加速 07/01 01:53