首頁  >  問答  >  主體

mysql - redis和mongodb怎么结合

就是拿mongodb或mysql做存储数据库,
然后redis做缓存。
搭建好数据库之后,怎么搭建redis,让他们结合起来运用到项目中呢?
mysql+redis可以的吗?
谢谢了

迷茫迷茫2741 天前601

全部回覆(3)我來回復

  • 黄舟

    黄舟2017-04-17 15:07:19

    題主問的太寬泛了,不好回答;
    簡單說,做緩存需要考慮幾點:
    1.快取熱點數據,針對自己的業務和數據結構特點,適當地選擇或組合redis的資料結構進行儲存。
    2.快取的更新和失效策略。
    想不到了,以後再補充。
    舉個例子:mongodb+redis
    mongodb可以對資料進行聚合,後台起cron,對資料每小時mapReduce一次,計算好的資料寫到redis中儲存(也可以直接輸出到mongo collection中),前台查詢redis 拿到聚合好的資料。

    回覆
    0
  • 怪我咯

    怪我咯2017-04-17 15:07:19

    雖然我代表的是MongoDB,以下的回答看起來會很有安麗自己產品的嫌疑,還是要提醒樓主注意一些問題。
    從問的問題來看,樓主對MongoDB或Redis都不熟,得出了用MongoDB+Redis來結合做專案的結論估計是看了哪篇文章的分享吧?不可否認,在某些很極端的場合在MongoDB前面再加一層Redis可能可以得到一定的收益,但是樓主是否考慮過自己的實際情況,是否真的到了需要在MongoDB前面加Redis的地步?要知道引進一項新技術,無論是維護成本還是開發成本,以及對開發人員的要求都會倍增。
    例如原來可以直接從資料庫讀的東西,現在要考慮什麼時候該從快取讀取,對應的就要考慮快取如何刷新,髒資料該怎麼辦?這些問題說起來好像不難,但不管什麼問題放到高並發環境裡就沒有簡單的問題。說句不中聽的,樓主如果有足夠的經驗應付上面這些問題,也就不會提現在這個問題了。幸運的是通常來說專案的並發還高不到需要兩個一起用的地步,因為MongoDB已經有足夠強的應付高並發的能力和水平擴展的能力。
    所以拋開別人的意見不說,樓主自己應該想清楚這些問題:是什麼驅使你把兩項技術放在一起使用,你想從中得到什麼好處?更重要的,如果只用其中一項技術,是不是也能解決問題?如果沒有足夠的證據說服自己,不妨實測一下用數據說話。

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-17 15:07:19

    沒什麼不可以的,reids安裝很簡單,看官方文件就知道

    回覆
    0
  • 取消回覆