Redis的安裝和部署


基本知識

1、Redis的數據類型:

  字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)

2、Redis和memcache相比的獨特之處:

  (1)redis可以用來做存儲(storge)、而memcache是來做緩存(cache)。這個特點主要是因為其有“持久化”功能

  (2)存儲的數據有“結構”,對於memcache來說,存儲的數據,只有一種類型——“字符串”,而redis則可以存儲字符串、鏈表、集合、有序集合、哈序結構

3、持久化的兩種方式:

  Redis將數據存儲於內存中,或被配置為使用虛擬內存。

  實現數據持久化的兩種方式:(1)使用截圖的方式,將內存中的數據不斷寫入磁盤(性能高,但可能會引起一定程度的數據丟失)

               (2)使用類似mysql的方式,記錄每次更新的日志

4、Redis的主從同步:對提高讀取性能非常有益

5、Redis服務端的默認端口是6379

安裝redis 前先檢查gcc環境:

$ gcc -v
使用內建 specs。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
目標:x86_64-redhat-linux
配置為:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
線程模型:posix
gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) 

如果沒有gcc環境 ,可用yum install gcc 來安裝:

[root@localhost ~]# yum install gcc
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package gcc.i386 0:4.1.2-51.el5 set to be updated
--> Processing Dependency: cpp = 4.1.2-51.el5 for package: gcc
--> Processing Dependency: libgomp >= 4.1.2-51.el5 for package: gcc
--> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc
--> Processing Dependency: libgcc >= 4.1.2-51.el5 for package: gcc
--> Running transaction check
---> Package cpp.i386 0:4.1.2-51.el5 set to be updated
---> Package glibc-devel.i386 0:2.5-65 set to be updated
--> Processing Dependency: glibc-headers = 2.5-65 for package: glibc-devel
--> Processing Dependency: glibc = 2.5-65 for package: glibc-devel
--> Processing Dependency: glibc-headers for package: glibc-devel
---> Package libgcc.i386 0:4.1.2-51.el5 set to be updated
---> Package libgomp.i386 0:4.4.4-13.el5 set to be updated
--> Running transaction check
--> Processing Dependency: glibc = 2.5-49 for package: nscd
---> Package glibc.i686 0:2.5-65 set to be updated
--> Processing Dependency: glibc-common = 2.5-65 for package: glibc
---> Package glibc-headers.i386 0:2.5-65 set to be updated
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers
--> Processing Dependency: kernel-headers for package: glibc-headers
--> Running transaction check
---> Package glibc-common.i386 0:2.5-65 set to be updated
---> Package kernel-headers.i386 0:2.6.18-274.el5 set to be updated
---> Package nscd.i386 0:2.5-65 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                Arch         Version                 Repository    Size
================================================================================
Installing:
 gcc                    i386         4.1.2-51.el5            base         5.2 M
Installing for dependencies:
 glibc-devel            i386         2.5-65                  base         2.0 M
 glibc-headers          i386         2.5-65                  base         604 k
 kernel-headers         i386         2.6.18-274.el5          base         1.2 M
 libgomp                i386         4.4.4-13.el5            base          72 k
Updating for dependencies:
 cpp                    i386         4.1.2-51.el5            base         2.7 M
 glibc                  i686         2.5-65                  base         5.3 M
 glibc-common           i386         2.5-65                  base          16 M
 libgcc                 i386         4.1.2-51.el5            base          96 k
 nscd                   i386         2.5-65                  base         169 k

Transaction Summary
================================================================================
Install       5 Package(s)
Upgrade       5 Package(s)

Total download size: 34 M
Is this ok [y/N]: y
Downloading Packages:

接下來我們來安裝Redis

1、先到Redis官網(redis.io)下載redis安裝包 

 

 

2、將其下載到我的/lamp目錄下

3、解壓並進入其目錄

  

4、編譯源程序

  make 

  cd src

  make install PREFIX=/usr/local/redis

5、將配置文件移動到redis目錄

  

6、啟動redis服務

  

7、默認情況,Redis不是在后台運行,我們需要把redis放在后台運行

  vim /usr/local/redis/etc/redis.conf

  將daemonize的值改為yes

  

8、客戶端連接

  /usr/local/redis/bin/redis-cli 

  

9、停止redis實例

  /usr/local/redis/bin/redis-cli shutdown

  或者

  pkill redis-server

10、讓redis開機自啟

  vim /etc/rc.local

  加入

  /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis-conf

11、接下來我們看看/usr/local/redis/bin目錄下的幾個文件時什么

  redis-benchmark:redis性能測試工具

  redis-check-aof:檢查aof日志的工具

  redis-check-dump:檢查rdb日志的工具

  redis-cli:連接用的客戶端

  redis-server:redis服務進程

Redis的配置

  daemonize:如需要在后台運行,把該項的值改為yes

  pdifile:把pid文件放在/var/run/redis.pid,可以配置到其他地址

  bind:指定redis只接收來自該IP的請求,如果不設置,那么將處理所有請求,在生產環節中最好設置該項

  port:監聽端口,默認為6379

  timeout:設置客戶端連接時的超時時間,單位為秒

  loglevel:等級分為4級,debug,revbose,notice和warning。生產環境下一般開啟notice

  logfile:配置log文件地址,默認使用標准輸出,即打印在命令行終端的端口上

  database:設置數據庫的個數,默認使用的數據庫是0

  save:設置redis進行數據庫鏡像的頻率

  rdbcompression:在進行鏡像備份時,是否進行壓縮

  dbfilename:鏡像備份文件的文件名

  dir:數據庫鏡像備份的文件放置的路徑

  slaveof:設置該數據庫為其他數據庫的從數據庫

  masterauth:當主數據庫連接需要密碼驗證時,在這里設定

  requirepass:設置客戶端連接后進行任何其他指定前需要使用的密碼

  maxclients:限制同時連接的客戶端數量

  maxmemory:設置redis能夠使用的最大內存

  appendonly:開啟appendonly模式后,redis會把每一次所接收到的寫操作都追加到appendonly.aof文件中,當redis重新啟動時,會從該文件恢復出之前的狀態

  appendfsync:設置appendonly.aof文件進行同步的頻率

  vm_enabled:是否開啟虛擬內存支持

  vm_swap_file:設置虛擬內存的交換文件的路徑

  vm_max_momery:設置開啟虛擬內存后,redis將使用的最大物理內存的大小,默認為0

  vm_page_size:設置虛擬內存頁的大小

  vm_pages:設置交換文件的總的page數量

  vm_max_thrrads:設置vm IO同時使用的線程數量

 

redis-cli -h 127.0.0.1 -p 6379 -a ilanniredis

  這條命令是說要連接redis服務器,IP是127.0.0.1,端口是6379,密碼(requirepass)是ilanniredis。

  keys *是查看redis所有的鍵值對。

  set ilanni testredis添加一個鍵值ilanni,內容為testredis。

  get ilanni查看ilanni這個鍵值的內容。

      注: 當出現認證問題時候,輸入“auth ‘ilanniredis’”即可

127.0.0.1:6379> auth "ilanniredis"
OK

 

 

12、配置外網訪問

redis3.0 以上的版本默認啟用了安全機制較高的防護模式(protected-mode)。

redis2.x 只需要 bind 0.0.0.0,並開放防火牆端口即可外網訪問;而redis3.x版本需要在此基礎上禁用防護模式。

# redis-cli // 進入redis命令行模式

xxxx:6379> CONFIG SET protected-mode no // 禁用防護模式

vi redis.conf

#bind 127.0.0.1

#protected-mode yes
protected-mode no

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM