jlzzjlzz亚洲乱熟在线播放

系統城裝機大師 - 唯一官網:www.farandoo.com!

當前位置:首頁 > 數據庫 > Redis > 詳細頁面

系統城分享關于Redis數據庫入門詳細介紹教程

時間:2021-12-10來源:www.farandoo.com作者:電腦系統城

1、Redis是什么?

非關系型數據庫:NoMsql

主流的 NoSQL 數據庫有Redis、 MongBD、 Hbase、 Memcached 等。

Redis譯為“遠程字典服務”,它是一款基于內存實現的鍵值型 NoSQL 數據庫, 通常也被稱為數據結構服務器,這是因為它可以存儲多種數據類型,比如 string(字符串),hash(哈希散列),list(列表),set(集合)和 sorted set(有序集合)等。

Redis 遵守 BSD 協議,實現了免費開源,其最新版本是 6.20,常用版本包括 3.0 、4.0、5.0。

 

自 Redis 誕生以來,它以其超高的性能、完美的文檔和簡潔易懂的源碼廣受好評,國內外很多大型互聯網公司都在使用 Redis,比如騰訊、阿里、Twitter、Github 等等。

在這里插入圖片描述

2、Redis特點:

Redis 不僅可以將數據完全保存在內存中,還可以通過磁盤實現數據的持久存儲;Redis 支持豐富的數據類型,包括 string、list、set、zset、hash 等多種數據類型,因此它也被稱為“數據結構服務器”;Redis 支持主從同步,即 master-slave 主從復制模式。數據可以從主服務器向任意數量的從服務器上同步,有效地保證數據的安全性;Redis 支持多種編程語言,包括 C、C++、Python、Java、PHP、Ruby、Lua 等語言。

Redis 6.0版本前一直是單線程方式處理用戶的請求;

單線程為何如此快?

純內存

非阻塞

避免線程切換和競態消耗

Redis 沒有提供新建數據庫的操作,因為它自帶了 16 (0—15)個數據庫(默認使用 0 庫)。在同一個庫中,key 是唯一存在的、不允許重復的,它就像一把“密鑰”,只能打開一把“鎖”。鍵值存儲的本質就是使用 key 來標識 value,當想要檢索 value 時,必須使用與 value 相對應的 key 進行查找。

3、redis 對比 memcached

  memcached redis
類型 key-value key-value
過期策略 支持 支持
數據類型 單一數據類型 五大數據類型
持久化 不支持 支持
主從復制 不支持 支持
虛擬內存 不支持 支持

4、redis 典型應用場景:

Session 共享:常見于web集群中的Tomcat或者PHP中多web服務器session共享;

緩存:數據查詢、電商網站商品信息、新聞內容;

計數器:訪問排行榜、商品瀏覽數等和次數相關的數值統計場景;

微博/微信社交場合:共同好友,粉絲數,關注,點贊評論等;

消息隊列:ELK的日志緩存、部分業務的訂閱發布系統;

地理位置: 基于GEO(地理信息定位),實現搖一搖,附近的人,外賣等功能;

5、Redis下載與安裝:

注意:Windows 系統可以下載安裝非官方的 Redis 版本,不過其使用性能遠不如 Linux 系統。

這里我們在centos7上部署安裝Redis 5.0.7版本:

rpm源碼包下載地址:wget https://download.redis.io/releases/redis-5.0.7.tar.gz

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#關閉防火墻和SELinux
systemctl stop firewalld
setenforce 0
 
#安裝依賴包
yum install -y gcc gcc-c++ make
 
#下載軟件包
cd /opt
wget https://download.redis.io/releases/redis-5.0.7.tar.gz
tar zxf redis-5.0.7.tar.gz
cd redis-5.0.7/
make
make PREFIX=/usr/local/redis install

#由于Redis源碼包中直接提供了Makefile 文件,所以在解壓完軟件包后,不用先執行./configure進行配置,可直接執行make與make install 命令進行安裝。

在這里插入圖片描述
在這里插入圖片描述

1
2
3
4
5
cd /opt/redis-5.0.7/utils
./install_server.sh
#。。。。一直回車到這一步
#需要手動修改為可執行文件路徑,注意要一次性正確輸入
Please select the redis executable path [] /usr/local/redis/bin/redis-server

在這里插入圖片描述

把redis的可執行程序文件放入路徑環境變量的目錄中便于系統識別;

1
2
3
4
ln -s /usr/local/redis/bin/* /usr/local/bin/
 
#當install_server.sh 腳本運行完畢,Redis 服務就已經啟動,默認偵聽端口為6379
ss -natp | grep 6379

在這里插入圖片描述

Redis服務控制:

1
2
3
4
/etc/init.d/redis_6379 stop                    #停止
/etc/init.d/redis_6379 start                   #啟動
/etc/init.d/redis_6379 restart                 #重啟
/etc/init.d/redis_6379 status                  #查看狀態
1
2
3
4
5
6
7
#修改配置/etc/redis/6379.conf 參數
#70行,添加,監聽的主機地址
vim /etc/redis/6379.conf
bind 127.0.0.1 192.168.111.100
 
#修改配置后要重啟Redis
/etc/init.d/redis_6379 restart

在這里插入圖片描述

Redis 命令工具:

redis-server 用于啟動 Redis的工具
redis-benchmark 用于檢測Redis在本機的運行效率
redis-check-aof 修復AoF持久化文件
redis-check-rdb 修復RDB持久化文件
redis-cli Redis 命令行工具

redis-benchmark 測試工具

語法: redis-benchmark [選項] [選項值]

-h :指定服務器主機名。
-P :指定服務器端口。
-s :指定服務器socket
-c :指定并發連接數。
-n :指定請求數。
-d :以字節的形式指定SET/GET值的數據大小。
-k : 1=keep alive 0=reconnect 。
-r : SET/GET/INCR 使用隨機key, SADD 使用隨機值。
-P :通過管道傳輸請求。
-q :強制退出redis。 僅顯示query/sec值。
–csv :以 CSV 格式輸出。
-l :生成循環,永久執行測試。
-t :僅運行以逗號分隔的測試命令列表。,
-I :Idle 模式。僅打開 N 個 idle 連接并等待。

1
2
3
4
5
6
#向IP地址為192.168.111.100、 端口為6379的Redis 服務器發送100 個并發連接與100000 個請求測試性能
redis-benchmark -h 192.168.111.100 -P 6379 -c 100 -n 100000
#測試存取大小為100字節的數據包的性能
redis-benchmark -h 192.168.111.100 -P 6379 -q -d 100
#測試本機上 Redis 服務在進行 set 與lpush 操作時的性能
redis-benchmark -t set,lpush -n 100000 -q

redis-cli 命令行工具:

1
2
3
4
5
6
7
---redis-cli 命令行工具------
redis-cli  -h 192.168.111.100 -p 6379 -a 123123 -n 數據庫序號(0-15)
-h:指定遠程主機地址
-p:指定redis服務端口
-a:指定密碼,未設置數據庫密碼可以省略-a選項
-n:指定數據庫序號,默認是序號0,redis有16個庫(0-15)
若不添加任何選型表示,則使用127.0.0.1:6379 連接本機上的redis 數據庫

在這里插入圖片描述

到此這篇關于關于Redis數據庫入門詳細介紹的文章就介紹到這了

分享到:

相關信息

系統教程欄目

欄目熱門教程

人氣教程排行

站長推薦

熱門系統下載