日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

【 Redis开发与运维】第3章 读书笔记

發布時間:2023/12/10 数据库 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【 Redis开发与运维】第3章 读书笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第3章 小功能大用處

3.1 慢查詢分析

兩個參數

  • slowlog-log-slower-than:單位是微秒,默認是10000
  • slowlog-max-lan:列表最大長度
  • 3.2 Redis Shell

    3.2.1 redis-cli

  • redis-cli -r(repeat):執行多次。
  • redis-cli -i(interval):每隔幾秒執行一次命令。
  • redis-cli -x:從標準輸入讀取數據作為 redis-cli 最后一個參數。
  • redis-cli -c(cluster):連接 Redis Cluster 時使用。
  • redis-cli -a(auth):配置了密碼時使用。
  • redis-cli --scan,–pattern:用于掃描指定模式的鍵,相當于使用 scan 命令。
  • redis-cli --slave:把當前客戶端擬做當前 Redis 節點的從節點。
  • redis-cli --rdb:生成 RDB 持久化文件,保存在本地。
  • redis-cli --pipe:用于將命令封裝成 Redis 通信協議定義的數據格式。
  • redis-cli --bigkeys:使用 scan 命令對 Redis 的鍵進行采樣,從中找到內存占用比較大的鍵。
  • redis-cli -eval:用于執行指定腳本。
  • redis-cli -latency:檢測網絡延遲
  • redis-cli -stat:實時獲取 Redis 重要的統計信息。
  • redis-cli --raw,–no-row:要求命令返回的結果必須是(不是)原始格式。
  • 3.2.2 redis-server

    3.2.3 redis-benchmark

    3.3 Pipeline

    原生批量命令與Pipeline對比:

    原生批量命令Pipeline
    原子性非原子的
    一個命令對應多個key支持多個命令
    Redis 服務端實現Redis 服務端,客戶端共同實現

    不能濫用Pipeline

    3.4 事務與Lua

    3.4.1 事務

    multi ~ ~ ~ exec #執行事務 discard #取消事務 watch #監聽

    Redis 不支持回滾功能

    3.4.2 Lua 語法

    3.4.3 Redis 與 Lua

    eval

    evalsha

    Lua 腳本功能的三個好處:

  • 原子執行
  • 定制命令
  • 減少網絡開銷
  • 腳本管理操作:

  • script load script
  • script exists shal
  • script flush
  • scropt kill
  • 3.5 Bitmaps

    • Bitmaps 本身不是一種數據結構,實際上就是字符串,但是它可以對字符串的進行操作。
    • 可以把 Bitmaps 想象成以位為單位的數組,數組的下標在 Bitmaps 稱為偏移量。

    命令:

  • 設置值
  • setbit key offset value
  • 獲取值
  • getbit key offset
  • 獲取 Bitmaps 指定范圍為1的個數
  • bitcount key [start end]
  • Bitmaps 之間的運算
  • bitop op destkey key [key...]
  • 計算 Bitmaps 中第一個值的偏移量
  • bitpos key targetBit [start] [end]

    3.6 HyperLogLog

    不是一種數據結構,而是一種基數算法

    集合操作。

    三個命令:

    pfadd pfcount pfmerge

    HyperLogLog 內存占用很少,但是存在一定的誤差,官方說法是0.81%。

    3.7 發布訂閱

    命令:

  • 發布消息
  • publish channel message
  • 訂閱消息
  • subscribe channel [channel...]
    • 客戶端在執行訂閱命令后進入訂閱狀態,只能接收 subscribe,psubscribe,unsubscribe,punsubscribe。的四個命令

    • Redis 不會對發布的消息進行持久化。

  • 取消訂閱
  • unsubscribe [channel [channel...]]
  • 按照模式訂閱和取消訂閱
  • psubscribe pattern [pattern...] punsubscribe pattern [pattern [pattern...]]
  • 查詢訂閱
  • pubsub channels [pattern]

    3.8 GEO

    地理信息定位

    命令:

  • 添加地理位置信息
  • geoadd key longitude latitude member [longitude latitude member...]
  • 獲取地理位置信息
  • geopos key member [member...]
  • 計算兩個位置之間的距離
  • geodist key member1 member2 [unit]

    unit 代表返回加過的單位

    • m:米
    • km:千米
    • mi:英里
    • ft:尺
  • 獲取指定位置范圍內的地理位置信息集合
  • georadius key longitude latitude georadiusbymember key member radiusm [unit]
  • 獲取 geohash
  • geohash key member [member...]
  • 刪除地理位置信息
  • zrem key member

    GEO 沒有提供刪除成員的命令,因為 GEO 底層實現是zset,所以可以借用 zrem 命令實現地理位置信息的刪除操作。

    總結

    以上是生活随笔為你收集整理的【 Redis开发与运维】第3章 读书笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。