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

歡迎訪問 生活随笔!

生活随笔

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

数据库

Redis实战笔记

發布時間:2023/12/10 数据库 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Redis实战笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Redis 數據庫


一、 概要

1. 特點

  • 用于抽象數據類型的 DSL
  • 內存存儲
  • 基礎數據結構 API
  • 編碼風格
  • 避免代碼復雜
  • 兩層 API
  • 以優化為樂
  • 2. 數據類型

  • 鍵值對(字符串->字符串)
  • 哈希
  • 列表(鏈表)
  • 集合:差并交
  • 有序集合 = 列表 + 集合
  • 位圖(嚴格上說不算是一種數據結構)
  • HyperLogLogs 一種概率數據結構
  • 3. 底層數據結構

  • ziplist 壓縮列表(整數 + 字符串)
  • hashtable 哈希表
  • skiplist 跳表
  • 整數集合
  • 字符串
  • 鏈表
  • 4. 鍵過期策略

    (1)noeviction policy

    默認策略:永不過期

    (2) LRU

  • 前提:存在已設置過期時間的鍵,
  • volatile-lru 刪除最近最少使用的鍵
  • allkeys-lru 刪除全部鍵
  • 注意:不準確,默認選取 5個鍵作為樣本,刪除最少使用的一個
  • (3)random

  • volatile-random
  • allkeys-random
  • 二、五種數據類型

    0. 基本命令

    • 獲得匹配鍵名
    KEYS pattern
  • ? --匹配一個字符
  • * --匹配任意個字符
  • [] --匹配括號間的任一字符,‘-’ 表示一個范圍
  • x --匹配字符 x (特殊字符需要用 轉義)
    • 判斷鍵存在
    EXISTS key
    • 刪除
    DEL key [key ...]
    • 獲取類型
    TYPE key

    1. 字符串

    • 獲取/設置
    GET key --獲取鍵值 SET key value --設置鍵值MGET key [key ...] --獲取多個鍵值 MSET key [key ...] --設置多個鍵值
    • 字符串
    STRLEN key --長度 **APPEND key value** -- 追加
    • 整型
    INCR key --自增 1 DECR key --自減 1 INCRBY key increment --自增某個整數 DECRBY key decrement --自減某個整數
    • 浮點
    INCRBYFLOAT key increment --自增某個數 DECRBYFLOAT key decrement --自減某個數
    • 位操作
    GETBIT key offset --獲取某二進制位的值 SETBIT key offset value --設置某二進制位的值BITCOUNT key [start] [end]** --統計【一定范圍內】二進制位為 1 的個數 BITOP operation destkey key [key ...] --位運算:operation可取值【OR、AND、XOR、NOT】BITPOS key 1|0 [start end]** --獲取鍵值第一個二進制位為 1 的偏移量

    2. 散列

    • 基本
    HSET key field value HGET key fieldHMGET key field value [field value ...] HMSET key field value [field value ...]HGETALL key --獲取全部鍵值HKEYS key --獲取字段名HVALS key --獲取字段值HLEN key --統計字段數量HDEL key field [field ...] --刪除字段
    • 檢測存在
    HEXISTS key field [field ...]HSETNX key field value --值不存在時賦值
    • 運算
    HINCRBY key field increment --為整型鍵值加 1

    3. 列表

    • 添加
    LPUSH key value [value ...] --左添 RPUSH key value [value ...] --右添LINSERT key BEFORE|AFTER pivot value --在 pivot 前|后插入元素LSET key index value --設置指定索引的值
    • 獲取
    LINDEX key index --獲取指定索引的值LRANGE key start stop --獲取部分(通過索引)
    • 刪除
    LPOP key --左彈出 RPOP key --右彈出LREM key count value --刪除前 count 個值為 value 的元素(count 為負則從后面數起)LTRIM key start end --刪除指定索引范圍之內的元素
    • 轉移
    RPOPLPUSH source destination --右彈出并左添到另一個列表

    4. 集合

    • 添加
    SADD key member [member ...]
    • 刪除
    SREM key member [member ...]SPOP key --隨機彈出一個元素
    • 獲取
    SMEMBERS keySRANDMEMBER key [count] --取數不大于集合元素數量時,隨機取 count 不重復個元素(count 為負時可能取得重復元素)
    • 檢測存在
    SISMEMER key [value ...]
    • 統計
    SCARD key
    • 運算
    SDIFF key [key ...] --差集 SINTER key [key ...] --交集 SUNION key [key ...] --并集
    • 運算并存儲
    SDIFFSTORE destination key [key ...] SINTERSTORE destination key [key ...] SUNIONSTORE destination key [key ...]

    5. 有序集合

    • 增或改
    ZADD key score member [score member ...]
    • 獲取
    ZSCORE key memberZRANGE key start stop [WITHSCORES] --取指定范圍元素【帶值】 ZREVRANGE key start stop [WITHSCORES] --按分數排序,取指定范圍元素【帶值】ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] --取指定范圍元素【帶值】
    • 運算
    ZINCRBY key increment member --自增 1
    • 數量
    ZCARD keyZCOUNT key min max --指定范圍內
    • 刪除
    ZREM key member [member ...]ZREMRANGEBYRANK key start stopZREMRANGEBYSCORE key min max
    • 排名
    ZRANK key member --降序ZREVRANK key member --升序

    6. 位圖

  • 提供實時分析
  • 更高效地利用存儲空間
  • setbit key index valuegetbit key indexbitcount key --統計

    7. HyperLogLogs

    pfadd key member [member...] --設置pfcount key --統計已被設置的個數

    三、事務

    • 生命周期
    MULTI --開始// .... 其他指令EXEC --執行
    • 錯誤顯示
    ERRORCOMAND key
    • 監控
    WATCH key --監控鍵值被修改后不執行下一條命令UNWATCH --取消監控
    • 生命周期
    EXPIRE key seconds --定義(更新)生存時間TTL key --查詢剩余生存時間PERSIST key --取消過期時間設置(臨時->永久)EXPIREAT key UNIXTIME --時間為秒PEXPIREAT key UNIXTIME --時間為毫秒
    • 排序
    SORT key [BY field] [ASC|DESC] [LIMIT offset count] (LIMIT:跳過前 offset 個元素,取 count 個元素)6SORT key ALPHA --按字典

    四、其他

  • 安全配置 redis.conf / redis.cnf
    • bind 127.0.0.1 設置只允許本機訪問
    • requirepass XXXXXXXXX 設置密碼
    • AUTH XXXXXXXX 發送密碼

    注意:(敲黑板啦!)

  • 索引為負時,從鍵值末尾數起。如 index = -3,表示倒數第 3 個位置。
  • 總結

    以上是生活随笔為你收集整理的Redis实战笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

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