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