redis入門與安裝

1. redis簡介

1.1 redis特點

2. redis安裝

2.1 redis下載安裝

2.2 redis啓動與關閉

3. redis客戶端

3.1 redis命令行客戶端

3.2  redis遠程客戶端

3.3 redis編程客戶端

4. redis入門

4.1 redis常用命令

5. redis安全

5.1 設置密碼

5.2 綁定IP

5.3 命令禁止或重命名

5.4 修改默認端口


1. redis簡介

redis(Remote Dictionary Server)是一個開源的由Salvatore Sanfilippo使用ANSI C語言編寫的基於key-value數據存儲服務器。

其值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等類型,所以通常被稱爲數據結構服務器。

redis屬於NoSQL數據庫,NoSQL數據庫叫非關係型數據庫。

1.1 redis特點

  • redis足夠簡單和穩定
  • 支持豐富的數據結構
  • 內存存儲讀寫性能優秀
  • 提供持久化的支持
  • 支持部分事務操作

2. redis安裝

2.1 redis下載安裝

#下載
[root@CentOS7 ~]# wget http://download.redis.io/releases/redis-5.0.5.tar.gz
#解壓
[root@CentOS7 ~]# tar zxvf redis-5.0.5.tar.gz -C /usr/local/   
[root@CentOS7 ~]# cd /usr/local/redis-5.0.5/
#編譯
[root@CentOS7 redis-5.0.5]# make -j 4     
#將src下的可執行文件複製到/usr/local/bin目錄下(可不執行)
[root@CentOS7 redis-5.0.5]# make install

2.2 redis啓動與關閉

1. 加&設置爲後臺啓動redis服務

#後臺啓動redis服務
[root@CentOS7 redis-5.0.5]# cd src/
[root@CentOS7 src]# ./redis-server   &
#後臺啓動並輸出日誌到nohup.out文件
[root@CentOS7 src]# nohup /usr/local/redis-5.0.5/src/redis-server &
[root@CentOS7 src]# ll -h nohup.out
-rw-------. 1 root root 3.2K 9月   5 20:23 nohup.out

 

2. 修改redis.conf配置文件,將daemonize no改爲daemonize yes,啓用後端模式。

[root@CentOS7 src]# sed -i 's/daemonize no/daemonize yes/' /usr/local/redis-5.0.5/redis.conf 
[root@CentOS7 src]# ./redis-server ../redis.conf 
26084:C 06 Sep 2019 00:05:27.371 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
26084:C 06 Sep 2019 00:05:27.371 # Redis version=5.0.5, bits=64, commit=00000000, modified=0, pid=26084, just started
26084:C 06 Sep 2019 00:05:27.371 # Configuration loaded

3. redis服務的關閉

#正常關閉,數據保存
[root@CentOS7 src]# ./redis-cli shutdown
#硬性關閉,可能造成數據丟失($括號中的數據爲獲取redis服務端的pid)
[root@CentOS7 src]# kill -9 $(ps -ef | grep redis | grep -v grep | awk '{print $2}')

3. redis客戶端

3.1 redis命令行客戶端

redis-cli(Redis Command Line Interface)是Redis自帶的基於命令行的Redis客戶端,用於與服務器交互,可以使用該客戶端來執行Redis的各種命令。

直接連接Redis(默認IP127.0.0.1,端口6379)

[root@CentOS7 src]# ./redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected>

指定IP和端口連接redis

[root@CentOS7 src]# ./redis-cli -h 127.0.0.1 -p 6379
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected>

3.2  redis遠程客戶端

1.Redis Desktop Manager

注意:連接Redis需要修改Redis主目錄下的redis.conf配置文件:bind ip綁定IP註釋掉;protected-mode yes保護模式改爲no;

[root@CentOS7 redis-5.0.5]# vim redis.conf
69 #bind 127.0.0.1
88 protected-mode no

2.phpRedisAdmin

web控制檯,需要本地安裝php運行環境。

3.3 redis編程客戶端

redis以鍵值對的方式存儲數據在服務器上,有人編寫了一套程序,專門去連接redis並讀取其中的鍵值對內容,這套程序就像驅動程序一樣,我們使用它提供的API就能訪問服務器上的redis並對它進行各種操作。

redis的java編程客戶端

1.Jedis:redis的java編程客戶端,redis官方首選推薦使用redis,jedis是一個很小但很健全的java客戶端。

2.Lettuce:是一個可伸縮線程安全的java客戶端。多個線程可以共享同一個redis連接。它利用優秀netty NIO框架來高效地管理多個連接。

4. redis入門

redis默認爲16個數據庫(在redis.conf文件中可配置)。

redis默認使用0號庫。

4.1 redis常用命令

[root@CentOS7 src]# ./redis-cli
#輸入ping,redis返回PONG,表示redis服務運行正常
127.0.0.1:6379> ping
PONG

切換庫命令:select db
刪除所有庫的數據:flushall
刪除當前庫的數據:flushdb
獲取redis的所有配置值:config get *
退出當前客戶端:exit/quit
查看當前數據庫中key的數目:dbsize
查看redis服務器的統計信息:info

5. redis安全

5.1 設置密碼

設置redis密碼,在redis.conf文件配置requirepass 123456.

注意:因爲redis速度相當快,所以在一臺比較好的服務器下,一個外部的用戶可以在一秒種進行150K次的密碼嘗試,這意味着需要指定非常強大的密碼來防止暴力破解。

客戶端連接則需要密碼:auth 123456或者redis-cli -h 127.0.0.1 -p 6379 -a 123456

[root@CentOS7 src]# sed -i 's/# requirepass foobared/12345/' ../redis.conf 

5.2 綁定IP

把#bind 127.0.0.1前面的註釋去掉,然後把127.0.0.1改成允許訪問的redis服務器的IP,表示只允許該IP訪問

[root@CentOS7 src]# sed -i 's/# bind 127.0.0.1/bind 127.0.0.1/' ../redis.conf 

5.3 命令禁止或重命名

在redis.conf文件種進行命令禁止或重命名配置

rename-command flushall b840fc02d524045429941cc15f59e41cb7be6c52  #重命令fulshall命令。需保證appendonly.aof文件沒有flushall命令,否則服務器無法啓動
rename-command flushall    #禁用flushall命令
rename-command flushdb   #禁用flushdb命令
rename-command config b840fc02d524045429941cc15f59e41cb7be6c52  #重命名config命名
rename-command config    #禁用config命令

5.4 修改默認端口

redis默認端口號爲6379,可修改配置文件更改其默認端口號。

[root@CentOS7 src]# sed -i 's/port 6379/port 8888/' ../redis.conf 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章