在往測試開發轉型的道路上,不可避免的會被問到資料庫。資料庫中包含關系型資料庫和非關系型資料庫。今天我們就來說說非關系型資料庫(NoSql)-----------redis
先說一下定義,redis Remote Dictionary Server, 是一個由 Salvatore Sanfilippo 寫的 key-value 存儲系統, 是跨平台的非關系型資料庫。Redis 是一個開源的使用 ANSI C 語言編寫、遵守 BSD 協定、支援網絡、可基于記憶體、分布式、可選持久性的鍵值對(Key-Value)存儲資料庫,并提供多種語言的 API。看到key-value,是不是想到了java中的hashmap等, 後邊會說到,redis中的一種資料類型就是hash
Redis 通常被稱為資料結構伺服器,因為值(value)可以是字元串(String)、哈希(Hash)、清單(list)、集合(sets)和有序集合(sorted sets)等類型。
下面介紹下redis:
1.Redis支援資料的持久化,可以将記憶體中的資料儲存在磁盤中,重新開機的時候可以再次加載進行使用。
2.Redis不僅僅支援簡單的key-value類型的資料,同時還提供list,set,zset,hash等資料結構的存儲。
3.Redis支援資料的備份,即master-slave模式的資料備份。
接着說下redis的優勢:
1.性能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。
2.豐富的資料類型 – Redis支援二進制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 資料類型操作。
3.原子 – Redis的所有操作都是原子性的,意思就是要麼成功執行要麼失敗完全不執行。單個操作是原子性的。多個操作也支援事務,即原子性,通過MULTI和EXEC指令包起來。
4.豐富的特性 – Redis還支援 publish/subscribe, 通知, key 過期等等特性。
綜上所述,redis可以用于一些非持久化的功能,比如驗證碼,push消息等。還有一些需要極高性能的功能也會用到,比如秒殺等。
接着說下redis的安裝和配置,由于我用的是windows作業系統,主要講下windows作業系統的,其他系統的可以百度哈。
windows下安裝:
下載下傳位址:https://github.com/tporadowski/redis/releases
Redis 支援 32 位和 64 位,可以根據你的系統平台的實際情況選擇,這裡我們下載下傳 Redis-x64-xxx.zip壓縮包到 硬碟,解壓後,将檔案夾重新命名為 redis。 根據經驗,哪個盤都可以哈。不一定非要是C槽
打開zip壓縮包,再打開cmd控制台,定位到解壓的redis檔案夾裡。比如
C:\Users\ligang2>E:
E:\>cd redis
然後輸入
E:\redis>redis-server.exe redis.windows.conf
[23956] 04 Aug 23:52:42.514 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
[23956] 04 Aug 23:52:42.514 # Redis version=5.0.10, bits=64, commit=1c047b68, modified=0, pid=23956, just started
[23956] 04 Aug 23:52:42.515 # Configuration loaded
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 5.0.10 (1c047b68/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in standalone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 23956
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
[23956] 04 Aug 23:52:42.526 # Server initialized
[23956] 04 Aug 23:52:42.527 * DB loaded from disk: 0.001 seconds
[23956] 04 Aug 23:52:42.527 * Ready to accept connections
這就說明redis已經啟動了,但是如果你想輸入指令,還需要再打開一個指令控制台
C:\Users\ligang2>redis-cli.exe