您好,登錄后才能下訂單哦!
這篇文章主要講解了“Redis內存數據庫的作用是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Redis內存數據庫的作用是什么”吧!
Redis 是內存中的數據結構存儲系統,它可以用作數據庫、緩存和消息中間件。
它支持多種類型的數據結構,字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 與范圍查詢, bitmaps, hyperloglogs 和 地理空間(geospatial) 索引半徑查詢。
Redis 內置了 復制(replication),LUA腳本(Lua scripting), LRU驅動事件(LRU eviction),事務(transactions) 和不同級別的 磁盤持久化(persistence), 并通過 Redis哨兵(Sentinel)和自動 分區(Cluster)提供高可用性(high availability)。
Redis是一種基于客戶端-服務端模型以及請求/響應協議的TCP服務
1 Pub/Sub 消息訂閱
客戶端發出一個訂閱的頻道名稱:SUBSCRIBE foo bar,其他客戶端發到這些頻道的消息將會被推送到所有訂閱的客戶端。
2 內存優化
Redis2.2版本及以后,存儲集合數據的時候會采用內存壓縮技術,
以使用更少的內存存儲更多的數據,如Hashes,Lists,Sets和Sorted Sets,
當這些集合中的所有數都小于一個給定的元素,并且集合中元素數量小于某個值時,存儲的數據會被以一種非常節省內存的方式進行編碼, 使用這種編碼理論上至少會節省10倍以上內存(平均節省5倍以上內存)。并且這種編碼技術對用戶和redis api透明。因為使用這種編碼是用CPU換內 存,所以我們提供了更改閾值的方法,只需在redis.conf里面進行修改即可.內存回收策略:LRU是Redis唯一支持的回收方法,回收最少使用的鍵
3 事務
事務是一個原子操作:事務中的命令要么全部被執行,要么全部都不執行。
EXEC 命令負責觸發并執行事務中的所有命令。
當使用 AOF 方式做持久化的時候, Redis 會使用單個 write(2) 命令將事務寫入到磁盤中,如果 Redis 在重新啟動時發現 AOF 文件出了這樣的問題, 那么它會退出,并匯報一個錯誤,
使用redis-check-aof程序可以修復這一問題,會移除 AOF 文件中不完整事務的信息,確保服務器可以順利啟動。
當執行 DISCARD 命令時, 事務會被放棄, 事務隊列會被清空, 并且客戶端會從事務狀態中退出
4 redis分布式鎖
分布式鎖在很多場景中是非常有用的原語, 不同的進程必須以獨占資源的方式實現資源共享
Redis可以處理多達232的keys,并且在實際中進行了測試,每個實例至少存放了2億5千萬的keys,任何list、set、和sorted set都可以放232個元素
Redis使用默認的異步復制,其特點是低延遲和高性能,一個 master 可以擁有多個 slave,
5 持久化
RDB在保存RDB文件時父進程唯一需要做的就是fork出一個子進程,接下來的工作全部由子進程來做,父進程不需要再做其他IO操作,所以RDB持久化 方式可以最大化redis的性能.
與AOF相比,在恢復大的數據集的時候,RDB方式會更快一些。
AOF文件是一個只進行追加的日志文件,可使用redis-check-aof工具修復這些問題 $ redis-check-aof –fix,AOF 文件有序地保存了對數據庫執行的,所有寫入操作, 這些寫入操作以 Redis 協議的格式保存
6 常用命令:
鏈接集群
redis-cli -h 0.0.0.0 -p 6031 -c -a 密碼
查詢集群節點信息
redis-cli -h 0.0.0.0 -p 7000 cluster nodes
添加集群節點
./redis-trib.rb add-node 127.0.0.1:7006 127.0.0.1:7000
移除節點
./redis-trib del-node 127.0.0.1:7000 `<node-id>`
感謝各位的閱讀,以上就是“Redis內存數據庫的作用是什么”的內容了,經過本文的學習后,相信大家對Redis內存數據庫的作用是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。