參考地址:
redis教程:http://www.runoob.com/redis/redis-tutorial.html
redis百度百科:https://baike.baidu.com/item/Redis/6549233?fr=aladdin
redis官網:https://redis.io/
Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日志型、Key-Value數據庫,redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的;
在此基礎上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數據都是緩存在內存中。區別的是redis會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,並且在此基礎上實現了master-slave(主從)同步;
一、BIN包安裝Redis
root@localhost ~]# sha256sum Redis_INSTALL_2016-11-09_16-25-36.bin #檢查文件的sha256是否一致 [root@localhost ~]# sh Redis_INSTALL_2016-11-09_16-25-36.bin #執行bin包的安裝
下圖提示表示安裝成功:
二、源碼包編譯安裝Redis
使用編譯安裝的方式,安裝Redis
需要如下材料,
2.1、安裝系統依賴包
該步驟需要安裝服務器連接互聯網,針對RedHat
服務器,如果未授權需要進行換源操作
[root@localhost redis-3.0.6]# yum install gcc-c++ tcl #安裝系統的依賴包 #如果你的操作系統是Centos7.0或者RedHat7.0的需要更新一下systemd這個系統包,以解決開機啟動項的問題 [root@localhost redis-3.0.6]# yum update systemd
2.2、上傳源碼包並檢查防火牆與selinux的設置
[root@localhost ~]# setenforce 0 # 臨時關閉selinx [root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux #修改selinux的配置文件,下次重啟時生效 [root@localhost ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config #關閉防火牆,如果想針對特殊端口配置請參照 `Linux快速入門手冊` # Centos7或RedHat7以后關閉防火牆,重啟后會再次開啟 [root@localhost ~]# service firewalld stop # Centos6或RedHat6關閉防火牆,重啟后會再次開啟 [root@localhost ~]# service iptables stop
2.3、編譯安裝redis
[root@localhost ]# tar -zxvf redis-3.0.6.tar.gz #解壓Redis的源碼安裝目錄 [root@localhost redis-3.0.6]# cd redis-3.0.6 #進入源碼目錄 [root@localhost redis-3.0.6]# make [root@localhost redis-3.0.6]# make PREFIX=/opt/redis3.0.6 install #安裝redis至/opt/redis3.0.6 [root@localhost redis-3.0.6]# ln -s /opt/redis3.0.6 /usr/local/redis #在/usr/local/下創建一個不帶版本號的redis鏈接 [root@localhost redis-3.0.6]# useradd -r -M redis #創建一個運行redis的用戶,可以更好的保證服務器的安全 [root@localhost redis-3.0.6]# mkdir /usr/local/redis/data #創建存儲redis內存快照的數據存儲目錄 [root@localhost redis-3.0.6]# mkdir /usr/local/redis/logs #創建redis的日志存放目錄 [root@localhost redis-3.0.6]# mkdir /usr/local/redis/etc #創建存放redis的配置文件目錄 [root@localhost redis-3.0.6]# touch /usr/local/redis/logs/redis.log #創建redis的日志文件 [root@localhost redis-3.0.6]# chown redis:redis -R /usr/local/redis [root@localhost redis-3.0.6]# chown redis:redis -R /usr/local/redis/ #修改redis程序的所有者 [root@localhost redis-3.0.6]# chmod +x -R /usr/local/redis #賦予redis可執行權限 [root@localhost redis_install_content]# cp redisd /etc/init.d/ #拷貝redis的啟動腳本至/etc/init.d/目錄 [root@localhost redis_install_content]# chmod +x /etc/init.d/redisd #賦予啟動腳本執行權限 [root@localhost redis_install_content]# cp redis.conf /usr/local/redis/etc/ #拷貝redis配置文件至安裝目錄,這里面的配置項是經過測試與優化的 [root@localhost redis_install_content]# echo 'export PATH=/usr/local/redis/bin:$PATH' >> /etc/profile && source /etc/profile #系統連接與內存使用等參數優化配置 [root@localhost redis_install_content]# echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf [root@localhost redis_install_content]# echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local [root@localhost redis_install_content]# echo 'echo 511 > /proc/sys/net/core/somaxconn' >> /etc/rc.local [root@localhost redis_install_content]# chkconfig redisd on #設置redis服務開機啟動
三、驗證單機是否安裝成功
不管是BIN
包還是編譯安裝都支持如下方式啟動與停止Redis
service redisd start # 啟動Redis
service redisd stop # 停止Redis
service redisd restart # 重新啟動Redis
為了檢驗是否安裝成功,我們可以在本機使用redis-cli
的客戶端查看是否能夠連接數據庫:
[root@localhost ~]# source /etc/profile #更新環境變量信息 [root@localhost ~]# redis-cli ping #連接redis-server 發送ping命令 ####命令輸出####### PONG #Bin包安裝后默認密碼,所以在測試時需要加上-a 密碼 參數項已經驗證 [root@localhost ~]# redis-cli -a 密碼 ping #連接redis-server 發送ping命令 [root@localhost ~]# chkconfig --list #檢查是否設置為開機啟動項 ######省略輸出############## netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off network 0:off 1:off 2:on 3:on 4:on 5:on 6:off redisd 0:off 1:off 2:on 3:on 4:on 5:on 6:off #已經設置為開機啟動
出現如下信息,則表示安裝成功:
四、卸載
BIN
包安裝還是編譯安裝,卸載Redis
的方式是一樣的,刪除安裝文件
[root@localhost ]# service redisd stop # 停止正在運行的Redis [root@localhost ]# rm -rf /opt/redis3.0.6 [root@localhost ]# rm -rf /usr/local/redis [root@localhost ]# rm -rf /etc/init.d/redisd
其中,這些執行都是linux指令執行的;