宅男在线永久免费观看网直播,亚洲欧洲日产国码无码久久99,野花社区在线观看视频,亚洲人交乣女bbw,一本一本久久a久久精品综合不卡

全部
常見問題
產(chǎn)品動態(tài)
精選推薦

redis簡介、用途以及使用場景

管理 管理 編輯 刪除

Redis 簡介

Redis 是完全開源的,遵守 BSD 協(xié)議,是一個高性能的 key-value 數(shù)據(jù)庫。

Redis 與其他 key - value 緩存產(chǎn)品有以下三個特點:

  • Redis支持數(shù)據(jù)的持久化,可以將內(nèi)存中的數(shù)據(jù)保存在磁盤中,重啟的時候可以再次加載進行使用。
  • Redis不僅僅支持簡單的key-value類型的數(shù)據(jù),同時還提供list,set,zset,hash等數(shù)據(jù)結(jié)構(gòu)的存儲。
  • Redis支持數(shù)據(jù)的備份,即master-slave模式的數(shù)據(jù)備份。

一、為什么使用redis


1. 解決應(yīng)用服務(wù)器的cpu和內(nèi)存壓力
2. 減少io的讀操作,減輕io的壓力
3.關(guān)系型數(shù)據(jù)庫的擴展性不強,難以改變表結(jié)構(gòu)

二、優(yōu)點


1.性能極高 – Redis能讀的速度是110000次/s,寫的速度是81000次/s 。

2.豐富的數(shù)據(jù)類型 – Redis支持二進制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 數(shù)據(jù)類型操作。

3.原子 – Redis的所有操作都是原子性的,意思就是要么成功執(zhí)行要么失敗完全不執(zhí)行。單個操作是原子性的。多個操作也支持事務(wù),即原子性,通過MULTI和EXEC指令包起來。

4.豐富的特性 – Redis還支持 publish/subscribe, 通知, key 過期等等特性。

三、適用場景


1.    數(shù)據(jù)高并發(fā)的讀寫
2.    海量數(shù)據(jù)的讀寫
3.    對擴展性要求高的數(shù)據(jù)

四、不適場景


1.    需要事務(wù)支持(非關(guān)系型數(shù)據(jù)庫)
2.    基于sql結(jié)構(gòu)化查詢儲存,關(guān)系復雜

五、Redis結(jié)構(gòu)


Redis是一個開源的key—value型數(shù)據(jù)庫,支持string、list、set、zset和hash類型數(shù)據(jù)。對這些數(shù)據(jù)的操作都是原子性的,redus為了保證效率會定期持久化數(shù)據(jù)。

六、使用場景


1.    配合關(guān)系型數(shù)據(jù)庫做高速緩存 ,緩存高頻次訪問的數(shù)據(jù),降低數(shù)據(jù)庫io, 分布式架構(gòu),做session共享
2.    可以持久化特定數(shù)據(jù)。利用zset類型可以存儲排行榜 利用list的自然時間排序存儲最新n個數(shù)據(jù)

七、Linux下redis


1.redis目錄:usr/local/bin
2.linux下redis常用命令:
redis-benchmark:性能測試工具
redis-server:啟動redis服務(wù)器
redis-cli:啟動redis客戶端,操作入口

八、Redis基礎(chǔ)知識


1.    端口:6379
2.    默認16個數(shù)據(jù)庫,下標從0開始
3.    單線程:redis是單線程+io多路復用:檢查文件描述的就緒狀態(tài) ,Memchached:多線程+鎖

1.    redis數(shù)據(jù)類型:String set list hash zset

九、Redis命令


1.    key操作

3bef6202212241653085827.png

String類型:String是二進制安全的,可以包含任何數(shù)據(jù)源,最大512m

f0b94202212241653195217.png

String批量處理:

648e5202212241653283858.png

1.    List:鏈表
特點:單鍵多值
Redis列表是簡單的字符串列表,從左或者從右插入
底層是雙向鏈表,對兩端的操作性能很高,通過下標查詢性能很低
7941d202212241653371744.png

Set:類似list的無序集合,保證列表中不會有重復數(shù)據(jù),底層是一個value為null的hash表

af80b202212241653463888.png

hash:鍵值對集合,類似map

63308202212241653542086.png

zset:與set集合非常相似,每個成員都關(guān)聯(lián)了score,可以用來排序

9b9d3202212241654035152.png

十、redis持久化


1.    兩種方式:rdb(redis database)和aof(append of file)
2.    RDB:在指定時間間隔內(nèi),將內(nèi)存中的數(shù)據(jù)作為一個快照文件(snapshot)寫入到磁盤,讀取的時候也是直接讀取snapshot文件到內(nèi)存中
①持久化過程:redis單獨創(chuàng)建(fork)一個進程來持久化,會先將數(shù)據(jù)寫入臨時文件中,待上次持久化結(jié)束后,會將該臨時文件替換上次持久化文件,比aof高效,但是最后一次數(shù)據(jù)可能會丟失
②Fork:在linux中,fork()會產(chǎn)生一個跟主進程一樣的子進程,出于效率考慮,主進程和子進程會公用一段物理內(nèi)存,當發(fā)生改變的時候,才會把主進程“”寫時復制”一份給子進程
③Redis備份的文件:在redis.conf中設(shè)置,dbfilename默認為:dump.rdb
④ Rdb保存策略:
1.    900s 1 file change
2.    300s 10file change
3.    60s 10000file change

⑤Rdb的備份:      
1.    config get dir 得到備份的文件夾
2.    復制備份文件
 
⑥Rdb恢復:
1.    關(guān)閉redis
2.    將備份文件復制到工作目錄下
3.    啟動redis,自動加載
5.

1.    AOF : 以日志形式記錄每個寫操作,啟動時通過日志恢復操作 , 開啟AOF:默認不開啟,進入redis.conf找到appendonly yes打開
2.    修復AOF:redis-check-aof –fix appendonly.aof
3.    同步頻率:每秒記錄一次,如果宕機該秒記可能失效
4.    Rewrite:bgrewriteaof 因為日志是追加方式,文件會越來越大,當超過了設(shè)置的閾值時,日志文件會壓縮,保留僅可以恢復的日志

RDB和AOF對比 1.    節(jié)省磁盤空間 2恢復速度快

ROD缺點:
1.      數(shù)據(jù)太大時,比較消耗性能
2.    一段時間保存一次快照,宕機時最后一次可能沒有保存

AOF優(yōu)點:
1.備份機制更加穩(wěn)健
2.可讀的日志文件,通過aof恢復更加穩(wěn)健,可以處理失誤

AOF缺點:
1.比RDB更占磁盤
2.備份速度較慢
3.iii每次都同步日志,有性能壓力

RDB和AOF哪個好
1.    官方推薦都啟用
2.    對數(shù)據(jù)不敏感,單獨用RDB
3.    不建議單獨使用AOF
4.    若作為純緩存使用,可以都不開啟

十一、Redis事務(wù):

輸入multi,輸入的命令都會依次進入到隊列中,但不會執(zhí)行,直到輸入exec,redis會將之前命令隊列中的命令依次執(zhí)行,通過discard可以放棄組隊。
1. 主要作用:序列化操作,串聯(lián)多個命令防止別的命令插隊
2. 悲觀鎖:每次拿到數(shù)據(jù)的時候都會上鎖,或者等待別人處理完再去拿鎖,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫里邊很多用到了這種鎖機制,比如行鎖、表鎖、讀鎖、寫鎖
3. 樂觀鎖:每次拿數(shù)據(jù)的時候總認為別人不會修改數(shù)據(jù),所以不會上鎖。但是更新的時候回去判斷別人有沒有更改數(shù)據(jù),使用版本號機制。樂觀鎖適用于多讀的應(yīng)用類型,可以提高吞吐量。
4. Redis使用樂觀鎖:redis就是利用check-and-set機制實現(xiàn)事務(wù)

5.三大特性: 1.單獨的隔離操作:事務(wù)中的所有命令都會序列化,按順序執(zhí)行。不會被其他客戶端打斷
2.沒有隔離級別概念:隊列中的命令沒有提交之前不會被執(zhí)行,事務(wù)外不能查看事務(wù)內(nèi)的更新
3.不能保證原子性:跳過錯誤,依舊執(zhí)行,沒有回滾

十二、Redis訂閱/發(fā)布


是進程中的一種消息通信模式,發(fā)送者pub發(fā)送消息,訂閱者sub接收消息

十三、Redis主從復制


1.   是什么:主從復制就是主機數(shù)據(jù)更新后根據(jù)配置和策略,自動同步到備份機的master/slaver機制,master寫為主,slave讀為主
2.用處:
1. 讀寫分離,性能拓展。
2. 容災(zāi)快速恢復

3.  配置服務(wù)器(配從不配主):
1.    拷貝多個redis.conf文件
2.    開啟daemonize yes
3.    Pid文件名字
4.    指定端口
5.    Log文件名字
6.    Dump.rdb名字
7.    Appendonly 關(guān)掉或者換名字

十四、Jedis


1.   所需jar包:

1.   common-pool-1.6jar包
2.   jedis-2.1

  1. 獲取jedis對象:Jedis jedis = new Jedis(“ip” ,端口號);

十五、集群分布:


實現(xiàn)對redis的水平拓展,啟動n’的redis節(jié)點,將整個數(shù)據(jù)分布在這n個節(jié)點中

配置conf文件:
1.    拷貝多個redis.conf文件
2.    開啟daemonize yes
3.    Pid文件名字
4.    指定端口
5.    Log文件名字
6.    Dump.rdb名字
7.    Appendonly 關(guān)掉或者換名字

配置cluster文件:

  1. cluster-enable yes 打開集群模式
  2. cluster-config-file xxx.conf 設(shè)置生成的節(jié)點配置文件名
  3. cluster-node-timeout 15000設(shè)置節(jié)點失聯(lián)時間,超多該時間(毫秒),集群自動進入主從切換
請登錄后查看

CRMEB-慕白寒窗雪 最后編輯于2022-12-24 16:54:07

快捷回復
回復
回復
回復({{post_count}}) {{!is_user ? '我的回復' :'全部回復'}}
排序 默認正序 回復倒序 點贊倒序

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level || item.bbs_level }}

作者 管理員 企業(yè)

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
{{item.is_suggest == 1? '取消推薦': '推薦'}}
沙發(fā) 板凳 地板 {{item.floor}}#
{{item.user_info.title || '暫無簡介'}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
打賞
已打賞¥{{item.reward_price}}
{{item.like_count}}
{{item.showReply ? '取消回復' : '回復'}}
刪除
回復
回復

{{itemc.user_info.nickname}}

{{itemc.user_name}}

回復 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}
打賞
已打賞¥{{itemc.reward_price}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回復' : '回復'}}
刪除
回復
回復
查看更多
打賞
已打賞¥{{reward_price}}
1912
{{like_count}}
{{collect_count}}
添加回復 ({{post_count}})

相關(guān)推薦

快速安全登錄

使用微信掃碼登錄
{{item.label}} 加精
{{item.label}} {{item.label}} 板塊推薦 常見問題 產(chǎn)品動態(tài) 精選推薦 首頁頭條 首頁動態(tài) 首頁推薦
取 消 確 定
回復
回復
問題:
問題自動獲取的帖子內(nèi)容,不準確時需要手動修改. [獲取答案]
答案:
提交
bug 需求 取 消 確 定
打賞金額
當前余額:¥{{rewardUserInfo.reward_price}}
{{item.price}}元
請輸入 0.1-{{reward_max_price}} 范圍內(nèi)的數(shù)值
打賞成功
¥{{price}}
完成 確認打賞

微信登錄/注冊

切換手機號登錄

{{ bind_phone ? '綁定手機' : '手機登錄'}}

{{codeText}}
切換微信登錄/注冊
暫不綁定
CRMEB客服

CRMEB咨詢熱線 咨詢熱線

400-8888-794

微信掃碼咨詢

CRMEB開源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
返回頂部 返回頂部
CRMEB客服