Redis數據庫安裝使用

Redis數據庫簡介

Redis數據庫是典型的非關係數據庫,

redis有以下幾個優點

具有極高的數據讀寫速度
支持豐富的數據類型
支持數據備份
支持數據的持久化
原子性

安裝並使用Redis數據庫

實驗環境及材料

一臺centos7即可,Rdis軟件包,

軟件包鏈接如下
鏈接https://pan.baidu.com/s/1kV6shNMC9dPHFYwwjQf8hQ&shfl=sharepset
提取碼:x3jo

1.Redis安裝部署

1)安裝

把包拖入Xshell
[root@CentOS7-02 ~]# tar zxf redis-3.2.9.tar.gz
[root@CentOS7-02 ~]# cd redis-3.2.9
[root@CentOS7-02 redis-3.2.9]# make && make install這個包不用進行./configure)

(我只是展示命令,如果你不改路徑不要執行下面這條命令)
如下命令,可用改安裝路徑,
[root@CentOS7-02 redis-3.2.9]# make PREFIX=/usr/local/ install

默認沒有啓動腳本文件,軟件包中默認有,通過這個腳本可用設置相關配置文件
[root@CentOS7-02 ~]# cd /root/redis-3.2.9/utils/
[root@CentOS7-02 utils]# ./install_server.sh
在這裏插入圖片描述
[root@CentOS7-02 utils]# netstat -anpt | grep redis
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN 4263/redis-server 1

2)啓動關閉服務

[root@CentOS7-02 ~]# /etc/init.d/redis_6379 stop (關閉)
Stopping ...
Redis stopped

[root@CentOS7-02 ~]# /etc/init.d/redis_6379 start (開啓)
Starting Redis server...

[root@CentOS7-02 ~]# /etc/init.d/redis_6379 status
Redis is running (4280) 如果是關閉狀態,它也會顯示running,但不顯示後面的數字,(進程號)

[root@CentOS7-02 ~]# /etc/init.d/redis_6379 restart (重啓)

2.Redis命令工具

1)Redis命令行工具

[root@CentOS7-02 ~]# redis-cli (登陸本機的Redis數據庫)
127.0.0.1:6379> ping (測試Redis服務是否啓動,如下表示啓動)
PONG

遠程登陸其他的Redis數據庫,這個就使用自己的IP演示
遠程的話需要修改配置文件,添加自己的IP地址,纔可以讓自己或別人連接
127.0.0.1:6379> exit
[root@CentOS7-02 ~]# vim /etc/redis/6379.conf
在這裏插入圖片描述
[root@CentOS7-02 ~]# /etc/init.d/redis_6379 restart
[root@CentOS7-02 ~]# redis-cli -h 192.168.100.102 -p 6379
192.168.100.102:6379>
192.168.100.102:6379> exit (退出數據庫)
當然上面如果你有第二臺Redis服務器,也可以換成第二臺的IP去連接

使用help命令幫助
[root@CentOS7-02 ~]# redis-cli
127.0.0.1:6379> help set (查看set命令的幫助)
SET key value [EX seconds] [PX milliseconds] [NX|XX]
summary: Set the string value of a key
since: 1.0.0
group: string

2)redis-benchmark測試工具

這個工具官方的工具,可以有效的測試Redis數據庫的性能,

1. 向I地址爲192.168.100.102的IP(就是自己IP),端口6379,的Redis服務器,發送100個併發連接,與100000個請求測試

[root@CentOS7-02 ~]# redis-benchmark -h 192.168.100.102 -p 6379 -c 100 -n 100000

2.測試存取大小爲4MB的數據包性能

[root@CentOS7-02 ~]# redis-benchmark -h 192.168.100.102 -p 6379 -q -d 4MB

3.Redis數據庫常用命令

Redis數據庫採用 key-value (鍵值對)的數據存儲形式

set:存放數據,格式 set key valuse
get: 獲取數據,格式 get key

127.0.0.1:6379> set aaa bbb
OK

127.0.0.1:6379> get aaa
"bbb"

key相關命令

1)keys

使用keys命令可以取符合規則的鍵值列表,結合*
127.0.0.1:6379> set a1 1
OK

127.0.0.1:6379> set a2 2
OK

127.0.0.1:6379> set a3 3
OK

127.0.0.1:6379> set v1 22
OK

127.0.0.1:6379> set v2 4
OK


127.0.0.1:6379> keys * (顯示當前庫所有鍵)
1) "v2"
2) "key:__rand_int__"
3) "a2"
4) "mylist"
5) "a3"
6) "k1"
7) "counter:__rand_int__"
8) "aaa"
9) "k2"
10) "a1"
11) "v1"


127.0.0.1:6379> keys v* (顯示所有以v打開頭的鍵)
1) "v2"
2) "v1"


127.0.0.1:6379> set v22 8
OK
127.0.0.1:6379> keys v? (顯示鍵以v開頭而且是後面只有一個字符的)
1) "v2"
2) "v1"


127.0.0.1:6379> keys v?? (顯示鍵以v開頭而且後面只有兩個字符的)
1) "v22"

2)exists

使用這條命令可以判斷鍵值是否存在
127.0.0.1:6379> exists v1
(integer) 1 ( 1 表示這個鍵存在)

127.0.0.1:6379> exists u
(integer) 0 (0 表示這個鍵不存在)

3)del

刪除鍵值
127.0.0.1:6379> get a1
"1"

127.0.0.1:6379> del a1
(integer) 1 (刪除成功)

127.0.0.1:6379> get a1
(nil) (提示已經沒有了)

4)type

使用type命令可以獲取key對應的value值類型
127.0.0.1:6379> type a2
string

5)rename

rename命令是對已有的key進行重命名,無論目標key是否存在都進行重命名,且源key的值會覆蓋目標key的值
127.0.0.1:6379> set s1 1
OK

127.0.0.1:6379> set s2 2
OK

127.0.0.1:6379> set s3 3
OK

127.0.0.1:6379> keys s*
1) "s2"
2) "s1"
3) "s3"

127.0.0.1:6379> rename s2 s3 ( 把s2重命名爲s3, s3的原來的值就會變成s2 的值覆蓋)
OK

127.0.0.1:6379> keys s*
1) "s1"
2) "s3"

127.0.0.1:6379> get s3 (是s2的鍵值)
"2"

6)renamenx

renamenx 命令的作用是對已有的key進行重命名,並檢測新名是否存在,如果目標key存在,就不進行重命名

127.0.0.1:6379> get s1
"1"

127.0.0.1:6379> get s3
"2"

127.0.0.1:6379> renamenx s1 s3
(integer) 0 (這顯示執行失敗)

127.0.0.1:6379> get s1
"1"
127.0.0.1:6379> get s3
"2"

127.0.0.1:6379> renamenx s1 s5 (這樣可以)
(integer) 1

127.0.0.1:6379> get s5
"1" (這是s1的鍵值)

127.0.0.1:6379> get s1
(nil) (已經不存在了)

多數據庫常用命令

1)多數據庫間切換

Redis支持多數據庫,Redis在沒有任何改動情況下默認包含16個數據庫,使用數字0~15來表示
[root@CentOS7-02 ~]# redis-cli
127.0.0.1:6379> (默認進去是0數據庫,不會顯示)

127.0.0.1:6379> select 10 (切換到10數據庫)
OK

127.0.0.1:6379[10]> (顯示前面有個10,表示當前是10數據庫)

127.0.0.1:6379[10]> select 16
(error) ERR invalid DB index (沒有16及以上的數據庫)

2)多數據庫間移動數據

Redis的多數據庫中的數據都是獨立的,例如在0上的aaa鍵值,其他數據庫是沒有的
127.0.0.1:6379> get aaa
"bbb"

127.0.0.1:6379> select 1
OK

127.0.0.1:6379[1]> get aaa ( 顯示沒有)
(nil)

Redis數據庫提供了一個move命令,可以在數據庫中移動數據,而不是複製,原有位置的鍵會沒有
127.0.0.1:6379[1]> select 0
OK

127.0.0.1:6379> get aaa
"bbb"

127.0.0.1:6379> move aaa 1 (把aaa鍵值移動到 1 數據庫)
(integer) 1

127.0.0.1:6379> get aaa (原來位置已經沒了)
(nil)

127.0.0.1:6379> select 1 (切換到 1 裏)
OK

127.0.0.1:6379[1]> get aaa (已經過來了)
"bbb"

3)清空數據內容

127.0.0.1:6379[1]>flushdb ( 清空當前所在,1數據庫內容)

127.0.0.1:6379[1]> flushall (清空所有數據庫內容,16個)
OK

到這裏,基本的數據庫使用就沒有問題了

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