<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Redis系列:項目中哪些常用的命令

          共 5319字,需瀏覽 11分鐘

           ·

          2020-09-16 10:46

          點擊上方「藍字」關注我們

          目前無論項目大小幾乎都要是使用到Redis,今天梳理一下在使用Redis會用戶的一些重要的相關命令。


          1、啟動和關閉Redis

          啟動和關閉無疑是開啟Redis的首要命令,連服務器都不知道啟動和關閉何談使用呢?

          啟動

          /usr/local/redis/bin/redis-server?/usr/local/redis/etc/redis.conf?

          關閉

          pkill?redis

          或者

          kill?進程號

          2、客戶端連接Redis服務器

          使用Reids自帶客戶端

          # 默認連接 127.0.0.1和6379端口
          /usr/local/redis/bin/redis-cli?# 指定ip和端口
          ?/usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379

          如果沒有Reids自帶客戶端,使用telnet命令

          telnet?127.0.0.1?6379


          3、查看Redis服務器信息

          要看出Redis的服務器信息可以通過info命令查看,先通過客戶端連接上Redis服務器,然后使用info命令


          4、登錄連接時輸入密碼

          • Redis服務器一般設置了密碼,設置密碼時需要修改redis.conf配置文件

          vi?/usr/local/redis/etc/redis.conf

          修改后,重啟redis-server服務器。

          客戶端連接,使用命令auth,輸入密碼

          • 使用telnet命令也可以使用telnet也可使用auth命令

          通過命令行也可以設置Redis的密碼

          config?set?requirepass?new2020

          一旦設置密碼,必須先驗證通過密碼,否則所有操作不可用

          • 客戶端使用config get requirepass命令查看密碼

          config?get?requirepass



          5、獲取所有的鍵key

          獲取Redis服務器的所有鍵,使用如下命令

          keys?pattern

          不過該命令在生產(chǎn)環(huán)境一定不要使用,使用的話會造成服務器假死


          6、獲取鍵總數(shù)

          dbsize

          獲取鍵總數(shù)時不會遍歷所有的鍵,直接獲取內部變量,時間復雜度O(1)


          7、查詢鍵是否存在

          查詢查詢多個,返回存在的個數(shù)

          8、查詢鍵類型

          type?鍵

          1.基于內存的key-value數(shù)據(jù)庫
          2.基于c語言編寫的,可以支持多種語言的api?//set每秒11萬次,取get?81000
          3.支持數(shù)據(jù)持久化
          4.value可以是stringhash,?list,?set,?sorted?set

          使用場景
          1.?去最新n個數(shù)據(jù)的操作
          2.?排行榜,取top?n個數(shù)據(jù)?//最佳人氣前10
          3.?精確的設置過期時間
          4.?計數(shù)器
          5.?實時系統(tǒng),?反垃圾系統(tǒng)
          6.?pub,?sub發(fā)布訂閱構建實時消息系統(tǒng)
          7.?構建消息隊列
          8.?緩存
          ???? Redis在互聯(lián)網(wǎng)公司一般有以下應用:
          ?????String:緩存、限流、計數(shù)器、分布式鎖、分布式Session
          ?????Hash:存儲用戶信息、用戶主頁訪問量、組合查詢
          ?????List:微博關注人時間軸列表、簡單列隊
          ?????Set:贊、踩、標簽、好友關系
          ???? Zset:排行榜


          cmd訪問redis
          redis-cli.exe?-h?127.0.0.1?-p?6379


          key
          ????keys?*?獲取所有的key
          ????select?0?選擇第一個庫
          ????move?myString?1?將當前的數(shù)據(jù)庫key移動到某個數(shù)據(jù)庫,目標庫有,則不能移動
          ????flush?db??????清除指定庫
          ????randomkey?????隨機key
          ????type?key??????類型

          ????set?key1?value1?設置key
          ????get?key1????獲取key
          ????mset?key1?value1?key2?value2?key3?value3
          ????mget?key1?key2?key3
          ????del?key1???刪除key
          ????exists?key??????判斷是否存在key
          ????expire?key?10???10過期
          ????pexpire?key?1000?毫秒
          ????persist?key?????刪除過期時間

          string
          ????set?name?cxx
          ????get?name
          ????getrange?name?0?-1????????字符串分段
          ????getset?name?new_cxx???????設置值,返回舊值
          ????mset?key1?key2????????????批量設置
          ????mget?key1?key2????????????批量獲取
          ????setnx?key?value???????????不存在就插入(not?exists
          ????setex?key?time?value??????過期時間(expire
          ????setrange?key?index?value??從index開始替換value
          ????incr?age????????遞增
          ????incrby?age?10???遞增
          ????decr?age????????遞減
          ????decrby?age?10???遞減
          ????incrbyfloat?????增減浮點數(shù)
          ????append??????????追加
          ????strlen??????????長度
          ??? getbit/setbit/bitcount/bitop ???位操作

          hash
          ????hset?myhash?name?cxx
          ????hget?myhash?name
          ????hmset?myhash?name?cxx?age?25?note?"i?am?notes"
          ????hmget?myhash?name?age?note???
          ????hgetall?myhash???????????????獲取所有的
          ????hexists?myhash?name??????????是否存在
          ????hsetnx?myhash?score?100??????設置不存在的
          ????hincrby?myhash?id?1??????????遞增
          ????hdel?myhash?name?????????????刪除
          ??? hkeys myhash ????????????????只取key
          ????hvals?myhash?????????????????只取value
          ????hlen?myhash??????????????????長度

          list
          ????lpush?mylist?a?b?c??左插入
          ????rpush?mylist?x?y?z??右插入
          ????lrange?mylist?0?-1??數(shù)據(jù)集合
          ????lpop?mylist??彈出元素
          ????rpop?mylist??彈出元素
          ????llen?mylist??長度
          ????lrem?mylist?count?value??刪除
          ????lindex?mylist?2??????????指定索引的值
          ????lset?mylist?2?n??????????索引設值
          ????ltrim?mylist?0?4?????????刪除key
          ????linsert?mylist?before?a??插入
          ????linsert?mylist?after?a???插入
          ????rpoplpush?list?list2?????轉移列表的數(shù)據(jù)

          set
          ????sadd?myset?redis?
          ????smembers?myset???????數(shù)據(jù)集合
          ????srem?myset?set1?????????刪除
          ????sismember?myset?set1?判斷元素是否在集合中
          ????scard?key_name???????個數(shù)
          ??? sdiff | sinter | sunion 操作:集合間運算:差集?|?交集?|?并集
          ????srandmember??????????隨機獲取集合中的元素
          ????spop?????????????????從集合中彈出一個元素

          zset
          ????zadd?zset?1?one
          ????zadd?zset?2?two
          ????zadd?zset?3?three
          ????zincrby?zset?1?one??????????????增長分數(shù)
          ????zscore?zset?two?????????????????獲取分數(shù)
          ????zrange?zset?0?-1?withscores?????范圍值
          ????zrangebyscore?zset?10?25?withscores?指定范圍的值
          ????zrangebyscore?zset?10?25?withscores?limit?1?2?分頁
          ????Zrevrangebyscore?zset?10?25?withscores??指定范圍的值
          ????zcard?zset??元素數(shù)量
          ????Zcount?zset?獲得指定分數(shù)范圍內的元素個數(shù)
          ????Zrem?zset?one?two????????刪除一個或多個元素
          ????Zremrangebyrank?zset?0?1??按照排名范圍刪除元素
          ????Zremrangebyscore?zset?0?1?按照分數(shù)范圍刪除元素
          ????Zrank?zset?0?-1????分數(shù)最小的元素排名為0
          ????Zrevrank?zset?0?-1??分數(shù)最大的元素排名為0
          ????Zinterstore
          ????zunionstore?rank:last_week?7?rank:20150323?rank:20150324?rank:20150325??weights?1?1?1?1?1?1?1


          排序:
          ????sort?mylist??排序
          ????sort?mylist?alpha?desc?limit?0?2?字母排序
          ????sort?list?by?it:*?desc???????????by命令
          ????sort?list?by?it:*?desc?get?it:*??get參數(shù)
          ????sort?list?by?it:*?desc?get?it:*?store?sorc:result??sort命令之store參數(shù):表示把sort查詢的結果集保存起來

          訂閱與發(fā)布:
          ????訂閱頻道:subscribe chat1
          ????發(fā)布消息:publish chat1 "hell0?ni?hao"
          ????查看頻道:pubsub channels
          ????查看某個頻道的訂閱者數(shù)量:?pubsub?numsub?chat1
          ????退訂指定頻道:unsubscrible chat1 ? , punsubscribe java.*
          ????訂閱一組頻道:psubscribe java.*

          redis事物:
          ?????隔離性,原子性,?
          ?????步驟:??開始事務,執(zhí)行命令,提交事務
          ?????????????multi??//開啟事務
          ?????????????sadd?myset?a?b?c
          ?????????????sadd?myset?e?f?g
          ?????????????lpush?mylist?aa?bb?cc
          ?????????????lpush?mylist?dd?ff?gg

          服務器管理
          ????dump.rdb
          ????appendonly.aof
          ????//BgRewriteAof?異步執(zhí)行一個aop(appendOnly?file)文件重寫
          ????會創(chuàng)建當前一個AOF文件體積的優(yōu)化版本

          ????//BgSave?后臺異步保存數(shù)據(jù)到磁盤,會在當前目錄下創(chuàng)建文件dump.rdb
          ????//save同步保存數(shù)據(jù)到磁盤,會阻塞主進程,別的客戶端無法連接

          ????//client?kill?關閉客戶端連接
          ????//client?list?列出所有的客戶端

          ????//給客戶端設置一個名稱
          ??????client?setname?myclient1
          ??????client?getname

          ?????config?get?port
          ?????//configRewrite?對redis的配置文件進行改寫
          rdb?save?900?1save?300?10save?60?10000

          aop備份處理appendonly?yes????開啟持久化appendfsync?everysec??每秒備份一次

          命令:bgsave異步保存數(shù)據(jù)到磁盤(快照保存)lastsave返回上次成功保存到磁盤的unix的時間戳shutdown同步保存到服務器并關閉redis服務器bgrewriteaof文件壓縮處理(命令)


          掃碼二維碼

          獲取更多精彩

          Java樂園

          有用!分享+在看?



          瀏覽 61
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  青草青青在线视频 | 高清+国产无码在线观看 | 成人免费视频 国产免费麻豆。 | 青青草黄色视频在线观看 | 免费91AV片视频 |