簡介:
redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數據都是緩存在內存中。區別的是redis會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,並且在此基礎上實現了master-slave(主從)同步。
Redis支持主從同步。數據可以從主服務器向任意數量的從服務器上同步,從服務器可以是關聯其他從服務器的主服務器。這使得Redis可執行單層樹復制。從盤可以有意無意的對數據進行寫操作。由於完全實現了發布/訂閱機制,使得從數據庫在任何地方同步樹時,可訂閱一個頻道並接收主服務器完整的消息發布記錄。同步對讀取操作的可擴展性和數據冗余很有幫助。
Redis因配置不當可造成未授權訪問。攻擊者無需通過身份認證便可訪問到內部數據,造成敏感信息泄露,也可以惡意執行flushall來清空所有數據。如果Redis以root身份運行,可以給root賬戶寫入SSH公鑰文件,直接通過SSH登錄受害服務器。
Redis官網:http://www.redis.io/
安裝:
系統環境:CentOS 7
說明:自 redis 6.0.0
之后,編譯 redis 需要支持 C11
特性,Centos7 默認 gcc 版本為 4.8.5
,C11
特性在 4.9
中引入。
安裝 Developer Toolset 7 使用 gcc 7 編譯
1 yum install centos-release-scl devtoolset-7
這不會更新系統原有 gcc 軟件包,在當您需要使用 gcc 7 工具鏈時,使用下列命令進入環境
1 scl enable devtoolset-7 bash
開始編譯reids-cli
1 wget http://download.redis.io/redis-stable.tar.gz 2 tar xvzf redis-stable.tar.gz 3 cd redis-stable 4 make redis-cli
最后將編譯好的redis-cli復制到個人工具路徑下即可
1 cp src/redis-cli /Tools/