Redis 常規知識點整理

redis 常規的知識點整理---將持續更新...

1.redis 不單單作緩存使用,某種場景下能夠當作數據庫使用,替換 mysql,由於 Redis 是能夠持久化的,因此能夠直接和 disk 進行交互;而 memcached 則不能當數據庫使用,只能做緩存使用,不能替換 mysql。mysql


2.僅從緩存這個角度來講,memcached 要比 redis 好不少,由於它的性能更高(若是想了解,就自行找資料瞭解其優秀特性,好比在多核處理器上,memcached 效率很高,而 redis 是單進程的,相對效率低一點),memcached 比 redis 少的是功能,從功能齊全的方面來講,固然 redis 要更強點。因此在選擇的時候視具體狀況來定。redis


3.本地啓動 reids 實例的時候,鏈接上 redis 實例以後,若是想要關閉 redis,那麼請記住不要暴力關閉,好比 kill -9 或者直接關閉窗口的方式去關閉 redis 服務。由於 redis 是作數據服務的,若是暴力關閉,可能會致使 redis 丟失數據。sql


4.Redis 的實際處理速度徹底依靠主進程的執行效率。假如同時有多個客戶端併發訪問服務器,則服務器處理能力在必定狀況下將會降低。假如咱們要提升服務器的併發能力,那麼能夠採用在單臺服務器上部署多個 redis 進程的方式。(注意: 這種方式表面上是提升了併發能力,可是實際上隱藏着一些問題,這些 redis 進程會競爭 cpu 資源的,若是在 redis 裏面執行了一些阻塞性的或者很耗 cpu 的操做的時候,那麼此實例就會搶佔 cpu 資源比較多,致使其它 redis 實例的訪問能力都會下降。所以: 這種方式使用的時候必定要注意,不要有一些對 cpu 資源搶佔比較厲害的命令或操做,若是有的話,仍是建議一臺機器上安裝一個 redis 實例,保險一點)數據庫


5.redis 是單進程的,因此不用擔憂併發問題。因此能夠利用 redis 的 incr 自增特性生成流水號。緩存


6.redis 的調優就須要對 redis 的配置有清晰的認識,經過各類參數來調優。可是請注意:使用 config 命令,在測試環境進行調優的話仍是很方便的,可是在生產環境最好仍是不要去使用這個命令,由於通常都是在測試環境調好參數事後,這個參數就固定了,放在配置文件中,在把這些固定的參數放到生產環境的一個過程。假如隨便的修改了生產環境的參數以後,用着挺好用,可是並無記錄本次操做,別人也不知道,別人看 redis 的配置只會到配置文件中看,但其實這個配置已經和配置文件的有區別了,這時候別人再來調試就很麻煩了。因此通常都是用在測試環境進行調試。安全


7.redis 的持久化,在實際生產環境中,會優先選中開啓 AOF 機制,可是在 reids master 上面都會運行主進程,會關掉 RDB 和 AOF ,通常就是在 slave 上開啓 AOF 持久化方式,而後關掉 RDB 方式,由於把它開着也會影響性能的。若是 redis 是 master->slave->slave 這種鏈式模式,那麼咱們能夠在 slave 上一個開 AOF,一個開 RDB 也能夠,也是保證數據安全的一種方式。不過通常都優先選擇 AOF 這種方式。服務器

相關文章
相關標籤/搜索