Day148.Redis入門介紹、安裝、基本知識 -Redis
Redis入門介紹
一、入門概述
1、是什麼
Redis:REmote DIctionary Server(遠端字典伺服器)
- 是完全開源免費的,用C語言編寫的,遵守BSD協議,
- 是一個高效能的(key/value)分散式記憶體資料庫,基於記憶體執行並支援持久化NoSQL資料庫,
- 是當前最熱門的NoSql資料庫之一,也被人們稱為資料結構伺服器
Redis 與其他 key - value 快取產品有以下三個特點:
1、支援資料的持久化
2、支援多種資料結果儲存
3、支援資料備份,master-slave模式
.
2、能幹嘛
-
記憶體儲存和持久化:redis支援非同步將記憶體中的資料寫到硬碟上,同時不影響繼續服務
-
取最新N個資料的操作,如:可以將最新的10條評論的ID放在Redis的List集合裡面
-
模擬類似於HttpSession這種需要設定過期時間的功能
-
釋出、訂閱訊息系統
-
定時器、計數器
.
3、去哪下
- Http://redis.io/
- Http://www.redis.cn/
.
4、怎麼玩
-
資料型別、基本操作和配置
-
持久化和複製,RDB/AOF
-
事務的控制(部分事務控制,更加靈活)
-
複製
-
…
.
二、Redis的安裝
1、Windows版安裝
- 下載地址:https://github.com/dmajkic/redis/downloads,根據自身情況,下載64或32位版本
- 將64bit的內容cp到自定義碟符安裝目錄取名redis。
- 如 C:\reids開啟一個cmd視窗 使用cd命令切換目錄到 C:\redis 執行 。
redis-server.exe redis.conf
- 如果想方便的話,可以把redis的路徑加到系統的環境變數裡,這樣就省得再輸路徑了,後面的那個redis.conf可以省略,
如果省略,會啟用預設的。輸入之後,會顯示如下介面:
- 這時候另啟一個cmd視窗,原來的不要關閉,不然就無法訪問服務端了。
- 切換到redis目錄下執行 redis-cli.exe -h 127.0.0.1 -p 6379 。
- 設定鍵值對 set myKey abc
取出鍵值對 get myKey
.
2、重要提示:
由於企業裡面做Redis開發,99%都是Linux版的運用和安裝,幾乎不會涉及到Windows版,
上一步的講解只是為了知識的完整性,Windows版不作為重點,同學可以下去自己玩,企業實戰就認一個版:Linux
.
3、Linux版安裝
1、下載安裝包
redis-5.0.7.tar.gz
2、解壓Redis的安裝包, 程式/opt
3、進入解壓後的檔案,可以按到redis的配置檔案
4、基本的環境安裝
1、yum install gcc-c++
2、gcc -v 檢視版本 檢視是否安裝成功
3、make 下載環境
4、make install 檢視安裝是否完畢
5、redis預設安裝路徑/usr/local/bin
6、將redis配置檔案redis.conf
,備份一份在 /myredis
下(目錄隨意選擇)
7、redis預設不是後臺啟動的,修改配置檔案
8、使用redis-server
啟動redis服務
在/usr/local/bin
目錄下執行對應的檔案
9、使用redis-cli
進行連線服務
10、檢視redis程式是否開啟
11、關閉redis服務
12、再次檢視程式是否存在
13、後面會使用單擊多Redis啟動
.
4、測試效能
- 前提保證redis服務是執行的
redis-benchmark是一個壓力測試工具
官方自帶的效能測試工具
使用語法:
redis-benchmark -命令引數
命令引數:
測試:
#測試:100個併發連線 100000請求
redis-benchmark -h localhost -p 6379 -c 100 -n 1100000
.
三、基礎知識
1、基礎指令
keys * #檢視所有key
dbsize #檢視當前資料庫大小
flushdb #清空當前資料庫資料
flushall #清空所有資料庫資料
redis預設有16個資料庫:
預設使用的是第0個
可以使用select
進行切換資料庫
redis資料庫之前的資料是不一樣的:
keys *
檢視所有key:
flushdb
清空當前資料庫:
flushall
清空所有資料庫:
思考:為什麼redis是6379(瞭解)
.
2、Redis是單執行緒的
Redis6.0以上使用了多執行緒
-
要明白Redi很快
-
官方表示:Redis是基於記憶體操作的,CPU不是Redis的效能瓶頸,Redis的瓶頸是根據機器的記憶體和網路頻寬,既然可以使用單執行緒來實現,就使用單執行緒了
Redis是C語言寫的,官方提供的資料為 100000+的QPS,完全不比同樣使用K-V的Memcache差
Redis為什麼單執行緒還這麼快?
誤區1:高效能的伺服器一定都是多執行緒的
多執行緒是為了減少主執行緒的阻塞時間
誤區2:多執行緒一定比單執行緒效率高
redis將所有的資料放進記憶體中的,所有使用單執行緒操作效率是最高的不用考慮IO複用,CPU上下文切換消耗資源時間
redis QPS 高,用多執行緒的話,產生的CPU切換消耗反而損耗效能,java鎖就是能不切換執行緒,就不切多執行緒了
感謝狂神!!!
https://www.bilibili.com/video/BV1S54y1R7SB?p=12
相關文章
- 區塊鏈入門知識介紹!區塊鏈
- 【Redis學習⑴】Redis入門安裝及基礎資料的知識Redis
- python入門基本知識Python
- redis介紹與安裝Redis
- k8s(00)入門知識介紹K8S
- redis系列:redis介紹與安裝Redis
- ccs的介紹,安裝和使用入門
- MongoDB基本介紹與安裝(1)MongoDB
- 新手入門必備:kylin安裝教程介紹!
- MongoDB入門(介紹、安裝、增刪改查)MongoDB
- Zookeeper入門學習--01介紹及安裝
- Java基礎知識篇——Java基本介紹Java
- NodeJs 入門到放棄 — 入門基本介紹(一)NodeJS
- 09、redis安裝入門Redis
- 檔案系統 FTP Ubuntu 安裝入門介紹FTPUbuntu
- HTML5的基本入門格式介紹HTML
- 藍芽4.0技術知識整理和基本介紹藍芽
- redis框架介紹與安裝(mac 和 windows)Redis框架MacWindows
- Sass 的入門安裝和基本使用
- Python 入門【預備知識】---- Python 簡介Python
- Redis in .NET Core 入門:(1) 安裝和主要功能簡介Redis
- JVM 從入門到實戰--- 01 JVM 基本介紹JVM
- Redis 入門 - 簡介Redis
- 初識ClickHouse——安裝與入門
- Mybatis 入門介紹MyBatis
- Rocketmq 入門介紹MQ
- libevent入門介紹
- Django 入門介紹Django
- linux介紹(入門)Linux
- Nginx 入門介紹Nginx
- rollup入門介紹
- TypeScript基本知識點整理(看完絕對入門---真的!!)TypeScript
- MySQL 安裝介紹MySql
- Go 安裝介紹Go
- docker介紹、安裝Docker
- HTTP入門知識HTTP
- Docker入門知識Docker
- Angular入門到精通系列教程(7)- 元件(@Component)基本知識Angular元件