Redis入門瞭解

Redis是什麼 ?

  • Redis(Remote Dictionary Server ),遠程字典服務
  • 它是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。
  • 免費和開源,是當下最熱門的 NoSQL 技術之一,也被人們稱之爲結構化數據庫
  • redis會週期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,並且在此基礎上實現了master-slave(主從)同步

Redis能做什麼?

  1. 內存存儲、持久化,內存中是斷電即失、所以說持久化很重要(rdb、aof)
  2. 效率高,可以用於高速緩存
  3. 發佈訂閱系統
  4. 地圖信息分析
  5. 計時器、計數器,瀏覽量

Redis的特性

  1. 多樣的數據類型
  2. 持久化
  3. 集羣
  4. 事務

linux安裝redis

  • 服務器安裝
  1. 下載安裝包到linux
  2. 解壓
  3. 安裝環境yum install gcc-c++
  4. 配置環境make
  5. 檢查make install
  6. redis默認不是後臺啓動的,要修改配置文件dameonize=no 改爲yes
  7. 啓動Redis服務redis-server config redis.conf
  8. 使用redis-cli 進行連接測試redis-cli -p 6379
  9. 查看redis的進程是否開啓ps -ef|grep redis
  10. 關閉服務shutdown
  • redis-benchmark:壓力測試工具
    它是官方自帶的性能測試工具

在這裏插入圖片描述

基礎知識

  • redis默認有16個數據庫,在redis.conf中可以看到。默認使用的是第0個數據庫。
  • 可以使用 select 進行切換數據庫
  • DBSIZE 查看數據庫大小
  • keys * #查看數據庫所有的key
  • 清除當前數據庫flushdb
  • 清除全部數據庫的內容FLUSHALL
  • 爲什麼redis是 6379?作者是某女歌星的粉絲,哪位女歌星的名字在鍵盤上對應的鍵位是6379。mysql端口是3306,是她女兒名字的縮寫。
  • Redis 是C 語言寫的,官方提供的數據爲 100000+QPS,完全不比同樣是使用 key-valeMemecache差!
  • Redis 是單線程的,而且是很快的
    官方表示,Redis是基於內存操作,CPU不是Redis性能瓶頸,而是根據機器的內存和網絡帶寬,既然可以使用單線程來實現,就使用單線程了,但是redis6.0之後更新爲多線程了。
  • Redis 爲什麼單線程還這麼快?
    誤區1: 高性能的服務器不一定都是多線程的
    誤區2: 多線程(CPU上下文會切換)也不一定比單線程效率高
    核心: redis 是將所有的數據全部放在內存中的,所以說使用單線程去操作效率就是最高的,多線程(CPU上下文會切換:耗時的操作!!!),對於內存系統來說,如果沒有上下文切換效率就是最高的!多次讀寫都是在一個CPU上的,在內存情況下,這個就是最佳的方案。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章