溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Redis數(shù)據(jù)庫入門知識點(diǎn)有哪些

發(fā)布時(shí)間:2021-12-10 16:45:16 來源:億速云 閱讀:156 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“Redis數(shù)據(jù)庫入門知識點(diǎn)有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Redis數(shù)據(jù)庫入門知識點(diǎn)有哪些”吧!

1、Redis是什么?

關(guān)系型數(shù)據(jù)庫:NoMsql

主流的 NoSQL 數(shù)據(jù)庫有Redis、 MongBD、 Hbase、 Memcached 等。

Redis譯為“遠(yuǎn)程字典服務(wù)”,它是一款基于內(nèi)存實(shí)現(xiàn)的鍵值型 NoSQL 數(shù)據(jù)庫, 通常也被稱為數(shù)據(jù)結(jié)構(gòu)服務(wù)器,這是因?yàn)樗梢源鎯Χ喾N數(shù)據(jù)類型,比如 string(字符串),hash(哈希散列),list(列表),set(集合)和 sorted set(有序集合)等。

Redis 遵守 BSD 協(xié)議,實(shí)現(xiàn)了免費(fèi)開源,其最新版本是 6.20,常用版本包括 3.0 、4.0、5.0。

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

Redis數(shù)據(jù)庫入門知識點(diǎn)有哪些

2、Redis特點(diǎn):

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

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

單線程為何如此快?

純內(nèi)存

非阻塞

避免線程切換和競態(tài)消耗

Redis 沒有提供新建數(shù)據(jù)庫的操作,因?yàn)樗詭Я?16 (0—15)個(gè)數(shù)據(jù)庫(默認(rèn)使用 0 庫)。在同一個(gè)庫中,key 是唯一存在的、不允許重復(fù)的,它就像一把“密鑰”,只能打開一把“鎖”。鍵值存儲的本質(zhì)就是使用 key 來標(biāo)識 value,當(dāng)想要檢索 value 時(shí),必須使用與 value 相對應(yīng)的 key 進(jìn)行查找。

3、redis 對比 memcached


memcachedredis
類型key-valuekey-value
過期策略支持支持
數(shù)據(jù)類型單一數(shù)據(jù)類型五大數(shù)據(jù)類型
持久化不支持支持
主從復(fù)制不支持支持
虛擬內(nèi)存不支持支持

4、redis 典型應(yīng)用場景:

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

緩存:數(shù)據(jù)查詢、電商網(wǎng)站商品信息、新聞內(nèi)容;

計(jì)數(shù)器:訪問排行榜、商品瀏覽數(shù)等和次數(shù)相關(guān)的數(shù)值統(tǒng)計(jì)場景;

微博/微信社交場合:共同好友,粉絲數(shù),關(guān)注,點(diǎn)贊評論等;

消息隊(duì)列:ELK的日志緩存、部分業(yè)務(wù)的訂閱發(fā)布系統(tǒng);

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

5、Redis下載與安裝:

注意:Windows 系統(tǒng)可以下載安裝非官方的 Redis 版本,不過其使用性能遠(yuǎn)不如 Linux 系統(tǒng)。

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

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

#關(guān)閉防火墻和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 文件,所以在解壓完軟件包后,不用先執(zhí)行./configure進(jìn)行配置,可直接執(zhí)行make與make install 命令進(jìn)行安裝。

Redis數(shù)據(jù)庫入門知識點(diǎn)有哪些
Redis數(shù)據(jù)庫入門知識點(diǎn)有哪些

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

Redis數(shù)據(jù)庫入門知識點(diǎn)有哪些

把redis的可執(zhí)行程序文件放入路徑環(huán)境變量的目錄中便于系統(tǒng)識別;

ln -s /usr/local/redis/bin/* /usr/local/bin/

#當(dāng)install_server.sh 腳本運(yùn)行完畢,Redis 服務(wù)就已經(jīng)啟動,默認(rèn)偵聽端口為6379
ss -natp | grep 6379

Redis數(shù)據(jù)庫入門知識點(diǎn)有哪些

Redis服務(wù)控制:

/etc/init.d/redis_6379 stop                    #停止
/etc/init.d/redis_6379 start                   #啟動
/etc/init.d/redis_6379 restart                 #重啟
/etc/init.d/redis_6379 status                  #查看狀態(tài)
#修改配置/etc/redis/6379.conf 參數(shù)
#70行,添加,監(jiān)聽的主機(jī)地址
vim /etc/redis/6379.conf
bind 127.0.0.1 192.168.111.100

#修改配置后要重啟Redis
/etc/init.d/redis_6379 restart

Redis數(shù)據(jù)庫入門知識點(diǎn)有哪些

Redis 命令工具:

redis-server用于啟動 Redis的工具
redis-benchmark用于檢測Redis在本機(jī)的運(yùn)行效率
redis-check-aof修復(fù)AoF持久化文件
redis-check-rdb修復(fù)RDB持久化文件
redis-cliRedis 命令行工具

redis-benchmark 測試工具

語法: redis-benchmark [選項(xiàng)] [選項(xiàng)值]

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

#向IP地址為192.168.111.100、 端口為6379的Redis 服務(wù)器發(fā)送100 個(gè)并發(fā)連接與100000 個(gè)請求測試性能
redis-benchmark -h 192.168.111.100 -P 6379 -c 100 -n 100000
#測試存取大小為100字節(jié)的數(shù)據(jù)包的性能
redis-benchmark -h 192.168.111.100 -P 6379 -q -d 100
#測試本機(jī)上 Redis 服務(wù)在進(jìn)行 set 與lpush 操作時(shí)的性能
redis-benchmark -t set,lpush -n 100000 -q

redis-cli 命令行工具:

---redis-cli 命令行工具------
redis-cli  -h 192.168.111.100 -p 6379 -a 123123 -n 數(shù)據(jù)庫序號(0-15)
-h:指定遠(yuǎn)程主機(jī)地址
-p:指定redis服務(wù)端口
-a:指定密碼,未設(shè)置數(shù)據(jù)庫密碼可以省略-a選項(xiàng)
-n:指定數(shù)據(jù)庫序號,默認(rèn)是序號0,redis有16個(gè)庫(0-15)
若不添加任何選型表示,則使用127.0.0.1:6379 連接本機(jī)上的redis 數(shù)據(jù)庫

Redis數(shù)據(jù)庫入門知識點(diǎn)有哪些

到此,相信大家對“Redis數(shù)據(jù)庫入門知識點(diǎn)有哪些”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI