柚子快報激活碼778899分享:nosql 數(shù)據(jù)庫 Redis
一、 Redis介紹
1.NoSQL
也叫Not Only SQL(不僅僅是SQL, 不用 sql語言操作的數(shù)據(jù)庫), 一般指非關系型數(shù)據(jù)庫
關系型數(shù)據(jù)庫: 以數(shù)據(jù)庫表為單位存儲,表與表之間存在某種關系 非關系型數(shù)據(jù)庫: 數(shù)據(jù)與數(shù)據(jù)之間沒有關系, 數(shù)據(jù)就是以鍵值對的形式存儲, 通過鍵獲取到值
在互聯(lián)網(wǎng)發(fā)展中: 大致經(jīng)歷三個時期,web1.0,web2.0,web3.0
web1.0:他是靜態(tài)網(wǎng)頁, 數(shù)據(jù)在網(wǎng)頁就寫死的, 數(shù)據(jù)直接在html里,每次更新, 都要更改html代碼
web2.0:這時候就是動態(tài)頁面了, 數(shù)據(jù)存放在數(shù)據(jù)庫里面, 頁面顯示的數(shù)據(jù)可以從數(shù)據(jù)里動態(tài)獲取
web3.0: 由于越來越多的用戶參與到信息的構建流程里, 比如:抖音,頭條用戶都可以自己創(chuàng)建自己的信息, 又或者是節(jié)假日的商品搶購,秒殺,信息量爆炸, 就會導致傳統(tǒng)的系統(tǒng)架構支撐不起來, 存在問題
由于關系型數(shù)據(jù)庫存儲在硬盤上, 查詢需要與硬盤發(fā)生IO( 讀取操作 ), 在一瞬間, 有當量用戶訪問時, 關系型數(shù)據(jù)庫就會崩潰 優(yōu)點:
1.存儲在內(nèi)存中, 讀寫非???2.數(shù)據(jù)結構簡單(鍵值形式) 3.高性能, 一秒可以讀寫數(shù)量級上萬 4.支持數(shù)據(jù)持久化(就是數(shù)據(jù)備份到硬盤上, 也是鍵值對)
二、Linux 上安裝Redis
首先在網(wǎng)上下載redis.tar.gz的源碼包 可以點擊這里直接下載
下載源碼包
下載源碼包有兩種方式
1>由傳輸根據(jù)xftp-7工具來傳輸
2>由linux通過網(wǎng)站來直接下載
進入到opt目錄,opt目錄是linux安裝軟件的文件夾 使用命令: cd /opt 進入到opt目錄 wget https://download.redis.io/releases/redis-6.2.4.tar.gz通過官網(wǎng)下載
解壓源碼包 進入到源碼包的下載目錄opt后, 再解壓源碼包 使用命令: tar -zxvf redos-6.0.8.tar.gz來解壓源碼包`編譯源碼包
進入opt目錄后,進入解壓后的redis里進行編譯 命令: cd redis-6.0.8 進入源碼包 make 進行編譯
安裝指定位置 命令: mkdir -p /opt/redis 創(chuàng)建安裝目錄 make install PEOFIX=/opt/redis 安裝指定目錄 啟動redis服務
命令: cd /opt/redis/bin進入到redis的bin目錄里 ./redis-server啟動redis數(shù)據(jù)庫
三、Redis里的基本設置
首先啟動Redis后如果要輸入指令, 就按Ctr+c 之后Redis就會關閉, 不會在后天啟動 所以就要設置Redis啟動后, 放在后臺
如圖啟動之后,Ctr+C進入命令操作Redis就會結束進程
命令: cd /opt/redis-6.0.8/ 進入到源碼包里
cp redis.conf /opt/redis/bin 復制源碼里的配置文件到安裝的位置里 vim redis.conf編輯redisconf文件(此時是修改安裝Redis里的配置文件)
redis.conf文件圖示:
接下來注意修改的位置:
注釋bind 127.0.01 設置遠程訪問 daemonize on改為 daemonize yes設置密碼 注意: 由于密碼在下方, 配置文件又特別長, 所以可以在編輯器里通過搜索模式來查 在命令模式里 /查找單詞 再點擊回車 就可以直接到搜索的那個單詞的地方 點擊n是下一個關鍵單詞,N是上一個單詞
配置完成之后就可以開啟Redis服務器了 命令: cd /opt/redis/bin 去安裝redis目錄下的bin文件里 ./redis-server redis.conf ps -ef | grep redis 檢查一下redis是否運行
redis已運行成功
結束redis進程 命令: kill -9 進程號 結束進程操作進入數(shù)據(jù)庫 命令: ./redis-cli aurth 密碼 輸入密碼 ping 當返回PONG時就說明進入數(shù)據(jù)庫成功
四、Redis的數(shù)據(jù)類型
redis有五種數(shù)據(jù)類型
String , Hash ,List , set , zset五種 redis是以鍵值對存儲, 鍵都是String類型的, 值是所說的5種
String類型
雖然名叫String , 但是他可以存儲圖片(base64格式) ,對象(json格式) set 鍵 值 存值 get 鍵 值 獲取值 del 鍵 值 刪值
1>單值緩存 set user {name:tom,age:20}
2>對象緩存(不對對象里的值進行操作時使用)
keys * 列出所有 鍵
3>計數(shù)器
新聞點贊時, 使用計數(shù)器來計數(shù) set newsid:1 0 存值, 鍵是newsid:1 ,值是0 incr newsid:1 值+1 decr newsid:1 值-1 get newsid:1 獲取鍵newsid:1的值
注意: 計數(shù)器后面的值必須是int類型
Hash類型
Redis里的Hash類型存儲的是String 類型的 field value 的映射表, 存儲的是(可修改的)對象,存的是字符串與字符串之間的映射信息 用我的來說就是, 鍵 : (鍵: 值), 值又是一個鍵值對
hset key field value 儲存一個哈希表key的鍵值 hmset key field value [field value...] 存儲多個鍵值對 hget key field獲取單個鍵的值 hget key field [field ...]獲取多個鍵的值 hdel key field [field ...]刪除哈希表key的field鍵值 hlen users 獲取users的鍵對應的field value 的數(shù)量 hgetall users 獲取users鍵對應的所有 鍵值對
hincrby key file 改變值 改變field對應的值 如果是減小,改變值就是負數(shù)
List類型
Ridis里的List是最簡單的字符串列表
lpush key value [value...] 插入一個或多個value到列表的表頭 rpush key value [value...] 插入一個或多個value到列表的表尾 lpop key value 移除返回列表key的頭元素 rpop key value 移除返回列表key的尾元素 lrange key start stop 返回區(qū)間start stop的元素, 包括start, stop
列表實現(xiàn)棧和隊列:
棧:Stack=lpush+lpop Queue= lpush+rpop
Set類型
Set類型的數(shù)據(jù)沒有無順序,不可重復
sadd key member [member]往key集合存儲值 srem key member [member]刪除key集合里的member值 smembers key 獲取集合key的所有元素
Zset
Zset集合的數(shù)據(jù)有序,不可重復 Zset集合會為每一個數(shù)據(jù)關聯(lián)一個分數(shù), 按照這個分數(shù)從小到大來排序 zset的集合元素時唯一的, 關聯(lián)分數(shù)可以重復
zadd key scord member[score member...]向集合key添加分數(shù)score的元素member zrem key member[member...]刪除集合key的元素 zscore key member 查詢集合key里的元素member的分數(shù)score zincrrby key num member向集合key里的元素member的score添加num,并返回score zcard key 查詢集合key的元素總數(shù) zrange key start stop 查詢集合key 從start 到stop的元素
五、設置數(shù)據(jù)的失效時間
有時候, 我們需要給數(shù)據(jù)設置失效時間, 數(shù)據(jù)存著只會占用空間 例如:驗證碼… redis可以通過一些命令, 能夠設置數(shù)據(jù)的過期時間, 過期后數(shù)據(jù)自動刪除
EX 表示秒 PX表示毫秒 (PX,EX不區(qū)分大小寫) 如: set name jim ex 30 30 秒失效
柚子快報激活碼778899分享:nosql 數(shù)據(jù)庫 Redis
相關鏈接
本文內(nèi)容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉(zhuǎn)載請注明,如有侵權,聯(lián)系刪除。