Redis的知識點總結~Linux系統操作~

来源:https://www.cnblogs.com/taopanfeng/archive/2019/04/28/10781672.html
-Advertisement-
Play Games

Redis_啟動後雜項基礎 Redis一共16個資料庫 SELECT[0~15] 來切換資料庫 命令起效返回1 不起效返回0 或者nil 或者error 異常... DBSIZE 查詢數據的數 KEYS * 顯示所有的key值.支持Ant風格 KEYS k? 只查詢k1 k2 而不查詢k11 KEY ...


  • Redis_啟動後雜項基礎
    • Redis一共16個資料庫 SELECT[0~15] 來切換資料庫
    • 命令起效返回1 不起效返回0 或者nil 或者error 異常...
    • DBSIZE 查詢數據的數
    • KEYS * 顯示所有的key值.支持Ant風格
      • KEYS k? 只查詢k1 k2 而不查詢k11
      • KEYS k?? 只查詢k11 k12 而不查詢k1
    • FLUSHDB 清空當前庫. FLUSHALL清空所有庫共16個
    • Redis索引從0開始
    • 預設埠6379
  • Redis_常用五大數據類型
      Redis常見數據類型操作命令 redisdoc.com
    • key
      • keys *
      • set k1 v1 設置key為k1 value為v1 如果存在k1就修改,覆蓋了
      • exists key的名字,判斷某個key是否存在
      • move key db ---> 當前庫就沒有了,被移除了
      • expire key 秒鐘:為給定的key設置過期時間
      • ttl key 查看還有多少秒過期,-1表示永不過期,-2表示已過期,過期就移除了
      • type key 查看你的key是什麼類型
      • del key 刪除
    • String 字元串 是Redis最基本的類型,一共key對應一個value,是二進位安全的,可以包含jpg圖片或者序列號的對象.value最多可以是512M
      • set/get/del/append/strlen
        • set k1 v1
        • get k1
        • del k1
        • append k1 12345
        • strlen k1
      • incr/decr/incrby/decrby,一定要是數字才能進行加減
        • incr k1 每次都+1
        • decr k1 每次都-1
        • incrby k1 2 每次都+2
        • decrby k1 3 每次都-3
      • getrange/setrange
        • set k1 ty12345
        • getrange k1 0 3 返回ty12 如果0 -1 返回全部
        • setrange k1 0 xxx 返回7 此時get k1 返回xxx2345
      • setex(set with expire)鍵秒值/setnx(if no exist)
        • setex k4 10 v4 十秒後過期移除
        • setnx k5 v5 如果不存在就設置 如果存在就不執行
      • mset/mget/msetnx
        • mset k1 v1 k2 v2 k3 v3
        • mget k1 k2 k3
        • msetnx k4 v4 k5 v5 如果資料庫存在k4 和 k5 都不存在才執行,否則都不執行
      • getset(先get再set) getset k1 v1 如果k1不存在則報錯
    • List 列表 左右兩邊都可以插入
      • lpush/rpush/lrange
        • lpush list01 1 2 3 4 5 逆反
        • rpush list02 1 2 3 4 5 正常
        • lrange list01 0 -1 查看list01集合的全部內容
      • lpop/rpop
        • lpop list01 返回5 lpop list02 返回1
        • rpop list01 返回1 rpop list02 返回5
      • lindex ,按照索引下標獲得元素(從上到下) lindex list01 2 返回2
      • llen 獲取長度 llen list01 返回長度數
      • lrem 刪除N個value lrem list01 2 3 表示刪除list01中2個3 .返回刪除的數量
      • ltrim 截取下標從0開始.截取內容為key的新value. ltrim list01 0 4 表示截取下標為0 1 2 3 4的數據
      • rpoplpush 把第一個的尾值放到第二個首值 rpoplpush list01 list02 此時list01的最後一個值會被移除.list02會添加一個list01移除的那個值到下標0處
      • lset list01 1 ddd 把list01下標為1的值改為ddd
      • linsert key before/after 值1 值2 執行成功返回key的長度 失敗返回-1
        • linsert list01 before aaa bbb 在list01中的第一個值為aaa的前面添加bbb
        • linsert list01 after ccc ddd 在list01中的第一個值為ccc的後面添加ddd
    • Set 集合 String類型的無序集合.值不允許重覆.
      • sadd/smembers/sismember
        • sadd set01 1 1 1 1 2 3 3 4 返回插入成功數4
        • smembers set01 查看set01裡面的數據
        • sismember set01 x 查詢值x是否在set01裡面.是返回1 否返回0.
      • scard 獲取集合裡面的元素個數
      • srem set01 3 刪除集合中set01的值為3的數據
      • srandmember set01 3 在set01中隨機出三條數據
      • spop set01 3 隨機刪除三條數據
      • smove set01 set02 x 把set01中的值x移到set02中
      • sdiff/sinter/sunion
        • sdiff set01 set02 ... 差集 set01中有.而set02和後面中沒有
        • sinter set01 set02 ... 交集 set01 和 set02和後面中都有
        • sunion set01 set02 ... 並集 set01 和 set02和後面中全部的數據.去重
    • Hash 哈希 類似於java的Map.KV模式不變.但V是一個鍵值對.
      • hset/hget/hmset/hmget/hgetall/hdel
        • hset user id 11 設置key為user key為id 值為11.插入成功返回1
        • hget user id 得到key為user key為id 的值.返回11
        • hmset student id 7 name daniu age 26 插入成功返回ok.失敗error.
        • hmget student id name age 返回三條數據第一條"7".第二條"lisi".第三條"26".
        • hgetall student 返回student的所有數據.返回6條.第一條"id".第二條"7".第三條"name".第四條"lisi"以此類推
        • hdel student name age 刪除key為student key為name age 的數據.返回2.此時hgetall返回兩條數據
      • hlen student 返回student裡面key的數量
      • hexists student id 判斷student中是否有key為id.有返回1.無返回0
      • hkeys/hvals
        • hkeys student 得到student中所有的key
        • hvals student 得到student中所有的value
      • hincrby/hincrbyfloat
        • hincrby student id 2 執行一次id的值都會增長2
        • hincrbyfloat id 1.1 執行一次id的值都會增長1.1
      • hsetnx user id 25 如果不存在則添加.添加成功返回1.失敗返回0
    • Zset(sorted set) 有序集合 和set一樣不允許重覆,不同的是每個元素都會關聯一個double類型的分數,通過這些分數從大到小降序排列,成員是唯一的,分數是可以重覆的
      • 多說一句
        • 在set基礎上,加一個score值
        • 之前set是k1 v1 v2 v3
        • 現在zset是k1 score1 v1 score2 v2
      • zadd
        • zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5 返回插入數量5
      • zrange
        • zrange zset01 1 3 查看下標為1 2 3的數據.返回三條數據.第一條"v2".第二條"v3".第四條"v4"
        • zrange zset01 1 3 withscores 查看下標為1 2 3的數據.返回六條數據.第一條"v2".第二條"70".第四條"v3".以此類推
      • zrangebyscore key 開始score 結束score
        • zrangebyscore zset01 60 90 返回60<=score<=90的值.返回四條數據.第一條"v1".第二條"v2".第三條"v3".第四條"v4".
        • zrangebyscore zset01 60 90 withscores 返回60<=score<=90的值和score.返回八條數據.第一條"v1".第二條"60".第三條"v2".第四條"70".以此類推
        • zrangebyscore zset01 60 (90 返回60<=score<90的值.返回三條數據.第一條"v1".第二條"v2".第三條"v3".
        • zrangebyscore zset01 (60 (90 返回60<score<90的值.返回兩條數據.第一條"v2".第二條"v3".
        • zrangebyscore zset01 60 90 withscores limit 2 1 先查出60<=score<=90的數據.從查詢出來的數據下標2開始查詢1條數據.此時返回兩條數據.第一條"v3".第二條"80"
      • zrem zset01 v5 v3 返回成功刪除的記錄數2
      • zcard/zcount key score區間/zrank key values值,作用是獲取下標值/zscore key 對應的值,獲得分數
      • zrevrank key values值,作用是逆序獲得下標值
      • zrevrange
      • zrevrangebyscore key 結束score 開始score

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 原文地址:https://mp.weixin.qq.com/s?__biz=MzU2Njg5Nzk0NQ==&mid=2247483692&idx=1&sn=18cddc1ee0decfe24323dafdb05a048d 本篇介紹一下如何從源碼構建Flink,構建Flink源碼是學習和研究Flin ...
  • 環境介紹:操作系統為Centos7.1;測試設備全部為內網設備,不通公網,所以需要配置本地yum源; 首先安裝ansible工具,用來批量安裝ambari、java以及基礎的一些配置; 一、 免密鑰登錄: *註:所有的設備均可以通過root直連 ssh-keygen -t rsa 相關命令: scp ...
  • 解決mysql中只能通過localhost訪問不能通過ip訪問的問題 原因是沒開許可權 SELECT * FROM USER WHERE USER='root'; grant all privileges on *.* to 'root'@'%' identified by '123456';flus ...
  • expdp 告警提示: Export: Release 11.2.0.4.0 - Production on 星期日 4月 28 12:14:51 2019....ORA-39127: 調用 "WMSYS"."LT_EXPORT_PKG"."SCHEMA_INFO_EXP" 時發生意外錯誤ORA-4 ...
  • /* 步驟: 1、創建表空間 2、創建用戶 3、用戶授權 */ /*創建表空間*/ create tablespace QCJ_TABLESPACE /*表空間物理文件名稱*/ datafile 'QCJ_TABLESPACE.dbf' -- 這種方式指定表空間物理文件位置 -- datafile ...
  • 終端輸入: sudo cat /etc/mysql/debian.cnf顯示內容:# Automatically generated for Debian scripts. DO NOT TOUCH![client]host = localhostuser = debian-sys-maintpas ...
  • 首先刪除mysql: 然後清理殘留的數據 它會跳出一個對話框,你選擇yes就好了 然後安裝mysql 安裝的時候會提示要設置root密碼,如果你沒有在卸載的時候去清理殘留數據是不會提示你去設置root密碼的 檢查mysql是不是在運行 一般安裝完成之後都是會自動運行的。 如果沒有運行你可以 ...
  • 本篇主要講Elasticsearch的_search API的簡單使用, 包括在URI中拼接請求體的方式實現查詢、對主要查詢參數的含義和使用進行演示, 還講到了timeout超時機制的作用和使用方法. ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...