1.什么是Redis迁杨?
Redis 本質(zhì)上是一個 Key-Value 類型的內(nèi)存數(shù)據(jù)庫煮岁。整個數(shù)據(jù)庫統(tǒng)統(tǒng)加載在內(nèi)存當(dāng)中進行操作农尖,定期通過異步操作把數(shù)據(jù)庫數(shù)據(jù) flush 到硬盤上進行保存。
因為是純內(nèi)存操作剧浸,Redis 的性能非常出色爽丹,每秒可以處理超過 10 萬次讀寫操作筑煮,是已知性能最快的 Key-Value 數(shù)據(jù)庫。
2.為什么要用Redis粤蝎?(Redis的優(yōu)點)
- 速度快真仲。數(shù)據(jù)都是在內(nèi)存中,讀取速度快初澎。
- 支持豐富的數(shù)據(jù)類型秸应。支持 String ,List碑宴,Set软啼,Sorted Set,Hash(key-value,存儲對象) 五種基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)延柠。
- 豐富的特性祸挪。訂閱發(fā)布 Pub / Sub 功能;Key 過期策略贞间;事務(wù)贿条;支持多個 DB;計數(shù)增热;Redis 5.0 增加了 Stream 功能整以,一個新的強大的支持多播的可持久化的消息隊列。
- 持久化存儲峻仇。Redis 提供 RDB 和 AOF 兩種數(shù)據(jù)的持久化存儲方案公黑,解決內(nèi)存數(shù)據(jù)庫最擔(dān)心的萬一 Redis 掛掉,數(shù)據(jù)會消失掉的問題摄咆。
- 高可用凡蚜。(保證系統(tǒng)能夠同時并行處理很多請求)
3.Redis的基本數(shù)據(jù)類型有哪些?
String ,List吭从,Set番刊,Sorted Set,Hash
String 字符串
set
get
redis 127.0.0.1:6379> SET name aaa
OK
redis 127.0.0.1:6379> GET name
"aaa"
List 列表
lpush
lrange
redis 127.0.0.1:6379> LPUSH runoobkey redis
(integer) 1
redis 127.0.0.1:6379> LPUSH runoobkey mongodb
(integer) 2
redis 127.0.0.1:6379> LPUSH runoobkey mysql
(integer) 3
redis 127.0.0.1:6379> LRANGE runoobkey 0 10
1) "mysql"
2) "mongodb"
3) "redis"
Set 集合
sadd
smembers
redis 127.0.0.1:6379> SADD runoobkey redis
(integer) 1
redis 127.0.0.1:6379> SADD runoobkey mongodb
(integer) 1
redis 127.0.0.1:6379> SADD runoobkey mysql
(integer) 1
redis 127.0.0.1:6379> SADD runoobkey mysql
(integer) 0
redis 127.0.0.1:6379> SMEMBERS runoobkey
1) "mysql"
2) "mongodb"
3) "redis"
Sorted Set 有序集合
zadd
zrange
redis 127.0.0.1:6379> ZADD runoobkey 1 redis
(integer) 1
redis 127.0.0.1:6379> ZADD runoobkey 2 mongodb
(integer) 1
redis 127.0.0.1:6379> ZADD runoobkey 3 mysql
(integer) 1
redis 127.0.0.1:6379> ZADD runoobkey 3 mysql
(integer) 0
redis 127.0.0.1:6379> ZADD runoobkey 4 mysql
(integer) 0
redis 127.0.0.1:6379> ZRANGE runoobkey 0 10 WITHSCORES
1) "redis"
2) "1"
3) "mongodb"
4) "2"
5) "mysql"
6) "4"
Hash 哈希
hmset
hgetall
127.0.0.1:6379> HMSET runoobkey name "redis tutorial" description "redis basic commands for caching" likes 20 visitors 23000
OK
127.0.0.1:6379> HGETALL runoobkey
1) "name"
2) "redis tutorial"
3) "description"
4) "redis basic commands for caching"
5) "likes"
6) "20"
7) "visitors"
8) "23000"
4.Redis的使用場景
- 數(shù)據(jù)緩存
- 會話緩存
- 時效性數(shù)據(jù)
- 訪問頻率
- 計數(shù)器
- 社交列表
- 記錄用戶判定信息
- 交集影锈、并集和差集
- 熱門列表與排行榜
- 最新動態(tài)
- 消息隊列
- 分布式鎖