主頁 > 資料庫 > 玩轉Redis|學會這10點讓你分分鐘拿下Redis,滿足你的一切疑問

玩轉Redis|學會這10點讓你分分鐘拿下Redis,滿足你的一切疑問

2020-11-15 21:30:18 資料庫

前言

Redis是一個開源的使用ANSI C語言撰寫、支持網路、可基于記憶體亦可持久化的日志型、Key-Value資料庫,并提供多種語言的API,從2010年3月15日起,Reids的開發作業由VMware主持,Redis能運行在大多數POSIX(Linux,*BSD,OS X和Solaris等)系統上,

和普通的Key-Value結構不同,Redis的Key支持靈活的資料結構,除strings,還有hashes、lists、sets和sorted sets等結構,正是這些靈活的資料結構,豐富了Redis的應用場景,能滿足更多業務上的靈活存盤需求,

Redis的資料都保存在記憶體中,而且底層實作上是自己寫了epoll enent loop部分,而沒有采用開源的libevent等通用框架,所以讀寫效率很高,為了實作Redis的持久化,Redis支持定期重繪(可通過配置實作)或寫日志的方式來保存資料到磁盤,

公眾號:「淺羽的IT小屋」

1、Redis的核心概念

「Redis是什么:」

  • MySql/Oracle:是一個關系型的資料庫(關系型的資料庫中存在表以及表與表之間關聯關系

  • Redis:是一個no sql的資料庫--->還是資料庫(非關系型的資料庫)

  • 非關系型的資料庫:簡單來說非關系型的資料庫不像關系型的資料庫那樣存在表以及表之間關聯關系,非關系型的資料庫中只存在鍵值對

  • 非關系型的資料庫中實際上,只有鍵值對形式的存盤,就像Map這種集合一樣,只存在鍵值對

  • Redis實際上就是一個基于鍵值對形式的檔案存盤系統而已

「疑問:」

  • 我們是否掌握Redis之后,就不會使用關系型資料庫(mysql/oracle)呢?

不是的 一般在進行開發的時候 我們一般情況下 都是使用 關系型資料庫和非關系型資料庫進行混用  各取所長 已達到用戶的好的體驗效果
不是全部用Redis也不是全部用mysql
常見的非關系型的資料庫:mogodb

2、Redis能干什么?

「主要用途:」

  • 百度上面的單點登錄(SSO)

  • 商城上面的評論

  • 商城上面的積分

  • 購物車

  • 商城上的快取(主要是指的是:所有用戶公用的資料)

  • 最新最熱商品的計算

  • 訊息佇列的實作

  • ...

3、Redis的特點

「用戶管理命令:」

  • 基于記憶體的(資訊是在記憶體中的 訪問的速度特別快)

  • 資料結構簡單(Key-Value)

  • 支持資料的持久化(能夠將記憶體中的資料同步到硬碟)

4、Redis的安裝

「安裝流程:」

  • 下載地址:http://redis.io/download

安裝步驟:

    1 首先需要安裝gcc,把下載好的redis-3.0.0-rc2.tar.gz 放到linux /usr/local檔案夾下
       yum install gcc

    2 進行解壓 tar -zxvf redis-3.0.0-rc2.tar.gz

    3 進入到redis-3.0.0目錄下,進行編譯 make

    4 進入到src下進行安裝 make install  驗證(ll查看src下的目錄,有redis-server 、redis-cil即可)

    5 建立倆個檔案夾存放redis命令和組態檔

     mkdir -p /usr/local/redis/etc

     mkdir -p /usr/local/redis/bin

    6 把redis-3.0.0下的redis.conf 移動到/usr/local/redis/etc下,
 
      cp redis.conf /usr/local/redis/etc/

    7 把redis-3.0.0/src里的mkreleasehdr.sh、redis-benchmark、redis-check-aof、redis-check-dump、redis-cli、redis-server 
     檔案移動到bin下,命令:

     mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin

    8 啟動時并指定組態檔:./redis-server /usr/local/redis/etc/redis.conf(注意要使用后臺啟動,所以修改redis.conf里的      daemonize 改為yes)

    9 驗證啟動是否成功:
ps -ef | grep redis 查看是否有redis服務 或者 查看埠:netstat -tunpl | grep 6379

     進入redis客戶端 ./redis-cli 退出客戶端quit
/exit退出redis服務: 
    (1)pkill redis-server 、
    (2)kill 行程號、
                            
    (3)/usr/local/redis/bin/redis-cli shutdown 

5、Redis中的資料型別以及資料型別的使用場景

「資料型別及使用場景:」

 String

      應用場景是什么?普通的資料快取這種一般就放到這里面  應用場景比較廣   因為他就是一個鍵值對的字串而已

     List(可以重復的)

      應用場景:這個一般用在:博客的關注、博客的評論、博客的積分

     Hash

      應用場景:SSO單點登錄

     Set(無序但是不重復)

      應用場景:這個一般用在和List一樣但是不重復的   

    SetSort

      應用的場景:最新最熱的商品(有序)

6、Redis中的常用命令(資料型別相關)

「常用命令:」

 set key value:    設定值
  
    get key           獲取某一型別的值

    keys *            查看所有的鍵

    
    del key1,key2..    洗掉一個或者多個資料

    rename 原來的key   現在key的名字    從新給鍵命名

    keys *  將當前資料庫里面的所有鍵排列出來


    //在Redis中默認有16個資料庫  資料庫的下標是0-15   默認存盤資料的是會存盤到 0號資料庫里面

    select index    選中某一個資料庫

    keys *         支持模糊查詢

    exists key      判斷當前資料資料庫中是否存在某一個特定的key(注意:不是所有資料庫  而是當前操作的這個資料庫)

    type key       判斷值的型別

    expire key 時間(單位秒鐘)   設定key的過期時間

    ttl key     查看key的過期時間

    persist  key    (把某一個key設定成永久有效)   

    set key value    存盤資料

    mset key value key value  key value    一次性設定多個鍵值對  注意:中間是沒有任何符號的

    mget a1 a2 a3 a4     一次性獲取多個值

    append key1 value    在某一個key對應的值上面追加值

    getset key value     先獲取key對應的值  然后再將后面的值 賦值給key

    mgetset key value key value   ....    同時為多個鍵設定值

    incr key    自增1

    incrby key step    每一次在原來的值上面增加 步長

    decr key    自減1

    decrby key step    每一次在原來的值上面減少 step


  Hash資料型別的方法

    Hset field key value   ---->設定相關的值                      HSet user userToken userInfo

    Hget field key value   ---->獲取設定的值

    hlen field             ---->獲取的是當前hash里面一共的長度

    hmset field key value ...  --->一次性設定多個鍵值對到某一個名字中

    hsetnx field key value...  --->不存在的時候再來創建這個值和用戶

    hkeys *                ---->查看所有的鍵

    hincrby field key      ---->自增

    hexists field          ----->查看是否存在


  List資料型別對應的值

    lpush key value  ----->向里面添加值

    lset key index value --->修改某一個位置的值

    lpop key         ----->彈堆疊(獲取這個值)

    lrem key count value ---->洗掉list集合中的值

    
  Set集合

    sadd key value...   ---->向set集合中添加值

    spop key            ---->獲取set集合添加進去的值

    smove key           ---->洗掉key

    
  SortSet 

     zadd key value score ---->表示的是添加元素到key中  score的意思是排序的位置

     zrange value 范圍(開始-結束) --->表示的是獲取某一范圍內的資料

     zrem value :洗掉某一個值

7、Redis中的資料持久化問題

「持久化方式:」

  • 持久化方式有兩種 rdb aof

  • 持久化:簡單來說就是記憶體和資料寫入到硬碟的程序,就叫資料的持久化

  • 如果是記憶體的資料在斷電的情況下,資料會發生丟失,所以我們的記憶體資料是需要持久化的

「rdb模式:」

  rbd模式(開發一般都不用): 是根據我們的時間片來判斷什么時候資料和硬碟進行同步  也就是說假設在一定的條件下才會將資料進行持久化(需要滿足一定的條件)、rdb模式在使用的時候會首先將記憶體資料寫入到零時檔案 、當這個記憶體的資料寫完成的時候 就會洗掉原來的rdb檔案,重新將零時檔案中的內容寫入到rdb檔案中

    1>:條件要成立才寫(條件:)

    2>:先寫入零時的檔案---->洗掉rdb檔案----->寫入rdb檔案

       因為要將記憶體中的所有資料寫入到零時檔案  相對來說需要更加頻繁的去操作IO

    rdb模式適合備份


   #表示的是在900秒之內有一個key發生改變那么就要和硬碟同步
   save 900 1
   #在300秒時間之內 如果有10個key發生改變那么就要和硬碟同步
   save 300 10
   #在60秒的時間內如果有10000個key發生改變那么就要和硬碟同步
   save 60 10000

「aof模式:」

  aof模式:這種模式是相當于在原來的日志基礎上來進行追加、實際上就相當于是 只是同步 改變了的內容  未改變的內容不用同步

      他不會頻繁的去操作IO

      要使用aof模式:

      appendonly yes

      #只要有一個key發生改變那么立馬和后臺同步  這種模式呢不會丟資料但是  效率不高  一般不推薦
      # appendfsync always
      # 這個表示每秒鐘和硬碟同步一次
      appendfsync everysec
      # 這個和記憶體的緩沖區有關 緩沖區滿了自動同步  沒滿的話那么就只有等
      # appendfsync no

8、Redis的主從復制問題(配置從服務器)

「主從復制:」

 假設現在我有一種策略:這種策略就是 能夠將訪問Redis服務器的請求分成兩類(讀、寫)
 
   然后將讀放到一部分的服務器上、寫這個操作放到另外的一部分的服務器上、這樣就能在3W并發上完成服務器的所有的請求
   
   將服務器上的讀和寫進行分離 又稱為讀寫分離資料庫的主從復制實際上完成的最終的功能就是讀寫分離

   主從復制:實際上指的是  主服務器來實作寫,從服務器來實作讀、所有的請求都經過主服務器來完成

   主從復制的配置實作

「主從復制的步驟:」

 clone服務器之后修改slave的IP地址

    修改組態檔(從服務器的組態檔)  

 vim /usr/local/redis/etc/redis.conf 

    第一步:slaveof 主機地址(eg:119.23.220.148)
 
 bind 0.0.0.0

    第一步下:
     
        #slaveof <masterip> <masterport>
        #改的第二個地方
        slaveof 112.74.49.17 6379

    第二步:masterauth<master-password>(這里可以不用設定)
 
 cd /usr/local/redis/bin/
 
 ./redis-cli

    使用info 查看role角色可以知道主服務或者從服務

9、Redis的哨兵模式

「哨兵模式:」

  • 單點問題:簡單來說就是一臺服務器掛了,所有服務器都不能用了

  • 哨兵模式的出現就是為了解決單點問題的

 哨兵:站崗的

   哨兵模式實際上是個程式、這個程式呢實際上就是用來檢測主服務器的狀態的,一旦主服務器掛了、那么從服務器就會進行投票選舉,按照預先設計的選舉策略,最終選舉出新的主服務器

「哨兵模式的實作:」

  哨兵模式的實作:(哨兵是一個獨立的程式和redis本身的運行是沒有關聯的)

   任意的一臺機器上面去啟動哨兵的程式(從服務器上)

   1>:quit  shutdown 退出redis

   2>:copy sentinel.xml到etc這個檔案下

   3>:修改 sentinel.xml這個檔案  

      dir   -> /usr/local/redis/etc(這個是告訴你路徑)

      sentinel monitor mymaster ip 埠 投票選舉的次數

      sentinel down-after-milliseconds mymaster 5000  多久進行檢測一下主節點活著沒有

   啟動哨兵  就必須跟上 sentinel這個組態檔

   ...server/  ...sentinel.xml --sentinel &

10、Redis的集群模式

「集群搭建流程:」

  1>:你可以找6臺機器來進行安裝

  2>:你可以找一臺機器開6個埠來進行安裝

首先要將redis.conf 復制到我們的etc下
 cp /usr/local/redis-4.0.6/redis.conf /usr/local/redis/etc/

第一步驟:

    mkdir -p /usr/local/redis-cluster   //創建檔案夾

第二步驟

     mkdir 500*    在剛剛創建的這個檔案夾里面創建6臺服務器的 組態檔的檔案夾
 
第三步驟

     把原來的Redis.cnf檔案copy到我們的500*當中去

第四步驟

     修改配置
 
     daemonize yes

     port 500*

     bind 192.168.108.135 改成 0.0.0.0

     dir "/usr/local/redis-cluster/500*/" 最好打上""

     cluster-enabled yes 這個需要打開注釋

     cluster-config-file nodes-500*.conf 這個需要打開注釋

     cluster-node-timeout 5000 這個也需要打開注釋

     appendonly yes


 第五步驟

   安裝ruby的相關工具

   yum install ruby

   yum install rubygems

   gem install redis  (報錯版本低了就執行 安裝rvm到第9步驟....)

   安裝rvm

    gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

    \curl -sSL https://get.rvm.io | bash -s stable

    然后進入cd /usr/local/目錄下看是否多個了rvm
 
    然后進入 /usr/local/rvm/archives

   再進行壓縮檔案的解壓  tar-zxvf rvm-1.29.7.tgz

   3.source /usr/local/rvm/archives/rvm-1.29.7/scripts/rvm 添加一個軟連接 相當于windows創建一個快捷方式,相當于windows添加一個環境變數,找到這個命令的

    4. 查看rvm庫中已知的ruby版本

    rvm list known

    5. 安裝一個ruby版本

    rvm install 2.3.3

    6. 使用一個ruby版本

    rvm use 2.3.3

    7. 設定默認版本

    rvm remove 2.0.0

    8. 卸載一個已知版本

    ruby --version

    9. 再安裝redis就可以了

    gem install redis   
  
    開啟每一個服務器

 去阿里云服務器設定埠,并且服務器重啟下

     ./redis-server /usr/local/redis-cluster/700*/redis.conf

     創建這個集群
 進入cd /usr/local/redis-4.0.6/src/這個目錄中

  ./redis-trib.rb create --replicas 1 120.78.191.34:7001 120.78.191.34:7002 120.78.191.34:7003 120.78.191.34:7004 120.78.191.34:7005 120.78.191.34:7006

redis-cli --cluster create 106.54.13.167:5001 106.54.13.167:5002 106.54.13.167:5003 106.54.13.167:5004 106.54.13.167:5005 106.54.13.167:5006 --cluster-replicas 1

    登錄客戶端實作驗證
  ./redis-cli -c -h 192.168.108.137 -p 5001

 Jedis進行單單機的訪問/連接池下的訪問/訪問集群

   Redis資料庫的訪問是要依賴于Jedis

結語

本篇關于Redis的介紹就先到這里結束了,后續會出更多關于Redis系列更多文章,謝謝大家支持!

如果你覺得淺羽的文章對你有幫助的話,請在微信搜索并關注「 淺羽的IT小屋 」微信公眾號,我會在這里分享一下計算機資訊知識、理論技術、工具資源、軟體介紹、后端開發、面試、作業感想以及一些生活隨想等一系列文章,所見所領,皆是生活,慢慢來,努力一點,你我共同成長...

我建立了一個技術群,如果你想了解到更多關于IT行業的技術以及生活中遇到的問題,歡迎小伙伴進群交流,只需添加我的微信,備注進群即可,期待你們的加入,

往期推薦

吐血推薦|2萬字總結Mac所有應用程式、軟體工具和相關資料


超級詳細|Linux系統下從0到1的玩法大全


簡化開發|Lombok神器帶你消除冗余代碼


異步編程|五分鐘讓你學會區域重繪Ajax技術


全面決議|搞懂Nginx這一篇就夠了


干貨|SpringBoot JMS(ActiveMQ)API實踐應用詳解


徹底了解|利用Apache CXF框架開發WebService


極速上手使用Docker,這篇文章就夠了!


淺羽

留言區

點個贊,證明你還愛我

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/218387.html

標籤:其他

上一篇:[運維] 解決centos8 docker無法訪問公共網路的問題

下一篇:程式員如何通過博客來學習java

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • GPU虛擬機創建時間深度優化

    **?桔妹導讀:**GPU虛擬機實體創建速度慢是公有云面臨的普遍問題,由于通常情況下創建虛擬機屬于低頻操作而未引起業界的重視,實際生產中還是存在對GPU實體創建時間有苛刻要求的業務場景。本文將介紹滴滴云在解決該問題時的思路、方法、并展示最終的優化成果。 從公有云服務商那里購買過虛擬主機的資深用戶,一 ......

    uj5u.com 2020-09-10 06:09:13 more
  • 可編程網卡芯片在滴滴云網路的應用實踐

    **?桔妹導讀:**隨著云規模不斷擴大以及業務層面對延遲、帶寬的要求越來越高,采用DPDK 加速網路報文處理的方式在橫向縱向擴展都出現了局限性。可編程芯片成為業界熱點。本文主要講述了可編程網卡芯片在滴滴云網路中的應用實踐,遇到的問題、帶來的收益以及開源社區貢獻。 #1. 資料中心面臨的問題 隨著滴滴 ......

    uj5u.com 2020-09-10 06:10:21 more
  • 滴滴資料通道服務演進之路

    **?桔妹導讀:**滴滴資料通道引擎承載著全公司的資料同步,為下游實時和離線場景提供了必不可少的源資料。隨著任務量的不斷增加,資料通道的整體架構也隨之發生改變。本文介紹了滴滴資料通道的發展歷程,遇到的問題以及今后的規劃。 #1. 背景 資料,對于任何一家互聯網公司來說都是非常重要的資產,公司的大資料 ......

    uj5u.com 2020-09-10 06:11:05 more
  • 滴滴AI Labs斬獲國際機器翻譯大賽中譯英方向世界第三

    **桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......

    uj5u.com 2020-09-10 06:11:29 more
  • MPP (Massively Parallel Processing)大規模并行處理

    1、什么是mpp? MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供 ......

    uj5u.com 2020-09-10 06:11:41 more
  • 滴滴資料倉庫指標體系建設實踐

    **桔妹導讀:**指標體系是什么?如何使用OSM模型和AARRR模型搭建指標體系?如何統一流程、規范化、工具化管理指標體系?本文會對建設的方法論結合滴滴資料指標體系建設實踐進行解答分析。 #1. 什么是指標體系 ##1.1 指標體系定義 指標體系是將零散單點的具有相互聯系的指標,系統化的組織起來,通 ......

    uj5u.com 2020-09-10 06:12:52 more
  • 單表千萬行資料庫 LIKE 搜索優化手記

    我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......

    uj5u.com 2020-09-10 06:13:25 more
  • 滴滴Ceph分布式存盤系統優化之鎖優化

    **桔妹導讀:**Ceph是國際知名的開源分布式存盤系統,在工業界和學術界都有著重要的影響。Ceph的架構和演算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat、SUSE、Intel等大公司的大力支持。Ceph是國際云計算領域應用最廣泛的開源分布式存盤系統, ......

    uj5u.com 2020-09-10 06:14:51 more
  • es~通過ElasticsearchTemplate進行聚合~嵌套聚合

    之前寫過《es~通過ElasticsearchTemplate進行聚合操作》的文章,這一次主要寫一個嵌套的聚合,例如先對sex集合,再對desc聚合,最后再對age求和,共三層嵌套。 Aggregations的部分特性類似于SQL語言中的group by,avg,sum等函式,Aggregation ......

    uj5u.com 2020-09-10 06:14:59 more
  • 爬蟲日志監控 -- Elastc Stack(ELK)部署

    傻瓜式部署,只需替換IP與用戶 導讀: 現ELK四大組件分別為:Elasticsearch(核心)、logstash(處理)、filebeat(采集)、kibana(可視化) 下載均在https://www.elastic.co/cn/downloads/下tar包,各組件版本最好一致,配合fdm會 ......

    uj5u.com 2020-09-10 06:15:05 more
最新发布
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:33:24 more
  • MySQL中binlog備份腳本分享

    關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......

    uj5u.com 2023-04-20 08:28:06 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:27:27 more
  • 快取與資料庫雙寫一致性幾種策略分析

    本文將對幾種快取與資料庫保證資料一致性的使用方式進行分析。為保證高并發性能,以下分析場景不考慮執行的原子性及加鎖等強一致性要求的場景,僅追求最終一致性。 ......

    uj5u.com 2023-04-20 08:26:48 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:26:35 more
  • 云時代,MySQL到ClickHouse資料同步產品對比推薦

    ClickHouse 在執行分析查詢時的速度優勢很好的彌補了MySQL的不足,但是對于很多開發者和DBA來說,如何將MySQL穩定、高效、簡單的同步到 ClickHouse 卻很困難。本文對比了 NineData、MaterializeMySQL(ClickHouse自帶)、Bifrost 三款產品... ......

    uj5u.com 2023-04-20 08:26:29 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:25:13 more
  • Redis 報”OutOfDirectMemoryError“(堆外記憶體溢位)

    Redis 報錯“OutOfDirectMemoryError(堆外記憶體溢位) ”問題如下: 一、報錯資訊: 使用 Redis 的業務介面 ,產生 OutOfDirectMemoryError(堆外記憶體溢位),如圖: 格式化后的報錯資訊: { "timestamp": "2023-04-17 22: ......

    uj5u.com 2023-04-20 08:24:54 more
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:24:03 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:23:11 more