關於Redis
Redis是一個開源的使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、Key-Value鍵值對資料庫,並提供多種語言的API
Redis的使用環境
-
資料高併發的讀寫
-
海量資料的讀寫
-
對擴充套件性要求高的資料
Redis的功能
-
資料快取
-
分散式鎖
-
支援事務
-
支援訊息佇列
-
支援資料持久化
Redis為啥是單執行緒
因為Redis的瓶頸最有可能是機器記憶體或者網路頻寬,而不是CPU。既然單執行緒容易實現,並且CPU不是瓶頸,那麼自然就使用單執行緒的法案,另外需要知道的是,單執行緒並不代表慢,node.js也是高效能單執行緒
快取穿透
-
指查詢一個一定不存在的資料時,由於快取是不命中時需要從資料庫查詢,查不到資料則不寫入快取,這將導致這個不存在的資料每次請求都要到資料庫去查詢,造成快取穿透
-
解決:如果一個查詢返回的資料為空,把這個空結果進行快取,但他的過期時間會很短
Redis持久化
-
RDB:指定的時間間隔能夠對你的資料進行快照儲存
-
AOF:每一個受到的寫命令都透過write函式追加到檔案中
Redis實現分散式鎖
-
Redis分散式鎖,其實就是在系統裡面,佔用一個”位置“,其他程式也要佔用這個“位置”時,成功繼續執行,失敗只能放棄或者稍後再試
-
Redis分散式鎖不能解決超時的問題,如果時間超過了鎖的超時時間就會出現問題
Redis的淘汰策略
-
volatile-lru:從已設定過期時間的資料集中挑選最近最少使用的資料淘汰
-
volatite-ttl: 從已設定過期時間的資料集中挑選即將過期的資料淘汰
-
volatile-random: 從已設定過期時間的資料集中任意選擇資料淘汰
-
allkeys-lru:從資料集中選擇最近最少使用的資料淘汰
-
allkeys-random:從資料集中任意選擇資料淘汰
-
no-enviction:禁止驅逐資料
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2682896/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於Redis的常識Redis
- 關於redis併發的程式Redis
- 關於 Redis & 常用用法詳情Redis
- The Little Redis Book中文版 關於Redis
- 關於redis配置找不到問題Redis
- 關於redis的幾件小事(二)redis執行緒模型Redis執行緒模型
- 關於redis單執行緒的分析Redis執行緒
- 關於Redis的一些小問題Redis
- win10 下關於redis的相關問題Win10Redis
- 關於redis,你需要了解的幾點!Redis
- 關於Redis哨兵機制,7張圖詳解!Redis
- 一篇關於Redis的好文章Redis
- 乾貨技巧|關於Redis的16個使用技巧Redis
- 關於redis的幾件小事(五)redis保證高併發以及高可用Redis
- 關於redis記憶體分析,記憶體優化Redis記憶體優化
- 關於Redis命令keys在效能方面的說明Redis
- 關於Redis的幾件小事 | 高併發和高可用Redis
- 關於redis快取資料庫的一些思考Redis快取資料庫
- 關於點贊業務對MySQL和Redis和MongoDB的思考MySqlRedisMongoDB
- 關於 Senparc.Weixin.Cache.Redis 引用的 StackExchange.Redis 版本不匹配的反饋測試Redis
- 關於 Swoft 2.0 版本用 Redis 儲存 session 時配置問題RedisSession
- 面試中關於Redis的問題看這篇就夠了面試Redis
- 關於Laravel中的Redis如何使用Lua的一點記錄LaravelRedis
- 關於IT,關於技術
- 線上問題排查例項分析|關於 Redis 記憶體洩漏Redis記憶體
- 線上問題排查例項分析|關於Redis記憶體洩漏Redis記憶體
- 使用Redis實現關注關係Redis
- 【Redis】基於consul的Redis高可用方案Redis
- 基於docker 搭建redis環境—redis單機版DockerRedis
- Redis 相關運維操作Redis運維
- linux 下redis關閉LinuxRedis
- centos下redis安全相關CentOSRedis
- Redis的相關知識Redis
- redis相關知識點Redis
- 基於 Redis 分散式鎖Redis分散式
- 關於Redis資料型別以及應用場景的分析與總結Redis資料型別
- 關於~
- 關於