最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Redis操作命令總結(jié)

 更新時間:2015年03月05日 11:05:47   投稿:junjie  
這篇文章主要介紹了Redis操作命令總結(jié),本文講解了key pattern 查詢相應(yīng)的key、字符串類型的操作、鏈表操作、hashes類型及操作、集合結(jié)構(gòu)操作、有序集合、服務(wù)器相關(guān)命令等內(nèi)容,需要的朋友可以參考下

一、key pattern 查詢相應(yīng)的key

 ?。?)redis允許模糊查詢key  有3個通配符  *、?、[]

 ?。?)randomkey:返回隨機key  

 ?。?)type key:返回key存儲的類型

 ?。?)exists key:判斷某個key是否存在

 ?。?)del key:刪除key

 ?。?)rename key newkey:改名

 ?。?)renamenx key newkey:如果newkey不存在則修改成功

 ?。?)move key 1:將key移動到1數(shù)據(jù)庫

 ?。?)ttl key:查詢key的生命周期(秒)

 ?。?0)expire key 整數(shù)值:設(shè)置key的生命周期以秒為單位

 ?。?1)pexpire key 整數(shù)值:設(shè)置key的生命周期以毫秒為單位

  (12)pttl key:查詢key 的生命周期(毫秒)

 ?。?3)perisist key:把指定key設(shè)置為永久有效

二、字符串類型的操作

 ?。?)set key value [ex 秒數(shù)] [px 毫秒數(shù)] [nx/xx]  

      如果ex和px同時寫,則以后面的有效期為準(zhǔn)

      nx:如果key不存在則建立

      xx:如果key存在則修改其值

 ?。?)get key:取值

  (3)mset key1 value1 key2 value2 一次設(shè)置多個值

 ?。?)mget key1 key2 :一次獲取多個值

 ?。?)setrange key offset value:把字符串的offset偏移字節(jié)改成value

                  如果偏移量 > 字符串長度,該字符自動補0x00

 ?。?)append key value :把value追加到key 的原值上

  (7)getrange key start stop:獲取字符串中[start, stop]范圍的值

                  對于字符串的下標(biāo),左數(shù)從0開始,右數(shù)從-1開始

                  注意:當(dāng)start>length,則返回空字符串

                     當(dāng)stop>=length,則截取至字符串尾

                     如果start所處位置在stop右邊,則返回空字符串

 ?。?)getset key nrevalue:獲取并返回舊值,在設(shè)置新值

 ?。?)incr key:自增,返回新值,如果incr一個不是int的value則返回錯誤,incr一個不存在的key,則設(shè)置key為1

 ?。?0)incrby key 2:跳2自增

  (11)incrbyfloat by 0.7: 自增浮點數(shù) 

 ?。?2)setbit key offset value:設(shè)置offset對應(yīng)二進制上的值,返回該位上的舊值

                 注意:如果offset過大,則會在中間填充0

                    offset最大到多少

                     2^32-1,即可推出最大的字符串為512M

  (13)bitop operation destkey key1 [key2..]    對key1 key2做opecation并將結(jié)果保存在destkey上

                          opecation可以是AND OR NOT XOR

 ?。?4)strlen key:取指定key的value值的長度

   (15)setex key time value:設(shè)置key對應(yīng)的值value,并設(shè)置有效期為time秒

三、鏈表操作

  Redis的list類型其實就是一個每個子元素都是string類型的雙向鏈表,鏈表的最大長度是2^32。list既可以用做棧,也可以用做隊列。

  list的pop操作還有阻塞版本,主要是為了避免輪詢

 ?。?)lpush key value:把值插入到鏈表頭部

  (2)rpush key value:把值插入到鏈表尾部

  (3)lpop key :返回并刪除鏈表頭部元素

  (4)rpop key: 返回并刪除鏈表尾部元素

 ?。?)lrange key start stop:返回鏈表中[start, stop]中的元素

 ?。?)lrem key count value:從鏈表中刪除value值,刪除count的絕對值個value后結(jié)束

                count > 0 從表頭刪除  count < 0 從表尾刪除  count=0 全部刪除

  (7)ltrim key start stop:剪切key對應(yīng)的鏈接,切[start, stop]一段并把改制重新賦給key

 ?。?)lindex key index:返回index索引上的值

 ?。?)llen key:計算鏈表的元素個數(shù)

 ?。?0)linsert key after|before search value:在key 鏈表中尋找search,并在search值之前|之后插入value

 ?。?1)rpoplpush source dest:把source 的末尾拿出,放到dest頭部,并返回單元值

    應(yīng)用場景: task + bak 雙鏈表完成安全隊列

 業(yè)務(wù)邏輯: rpoplpush task bak

         接收返回值并做業(yè)務(wù)處理

         如果成功則rpop bak清除任務(wù),如果不成功,下次從bak表取任務(wù)

 ?。?2)brpop,blpop key timeout:等待彈出key的尾/頭元素

                timeout為等待超時時間,如果timeout為0則一直等待下去

      應(yīng)用場景:長輪詢ajax,在線聊天時能用到

四、hashes類型及操作

  Redis hash 是一個string類型的field和value的映射表,它的添加、刪除操作都是O(1)(平均)。hash特別適用于存儲對象,將一個對象存儲在hash類型中會占用更少的內(nèi)存,并且可以方便的存取整個對象。

  配置: hash_max_zipmap_entries 64 #配置字段最多64個

      hash_max_zipmap_value 512 #配置value最大為512字節(jié)

 ?。?)hset myhash field value:設(shè)置myhash的field為value

 ?。?)hsetnx myhash field value:不存在的情況下設(shè)置myhash的field為value

 ?。?)hmset myhash field1 value1 field2 value2:同時設(shè)置多個field

 ?。?)hget myhash field:獲取指定的hash field

 ?。?)hmget myhash field1 field2:一次獲取多個field

  (6)hincrby myhash field 5:指定的hash field加上給定的值

 ?。?)hexists myhash field:測試指定的field是否存在

 ?。?)hlen myhash:返回hash的field數(shù)量

 ?。?)hdel myhash field:刪除指定的field

 ?。?0)hkeys myhash:返回hash所有的field

 ?。?1)hvals myhash:返回hash所有的value

 ?。?2)hgetall myhash:獲取某個hash中全部的field及value 

五、集合結(jié)構(gòu)操作

  特點:無序性、確定性、唯一性

 ?。?)sadd key value1 value2:往集合里面添加元素

  (2)smembers key:獲取集合所有的元素

 ?。?)srem key value:刪除集合某個元素

  (4)spop key:返回并刪除集合中1個隨機元素(可以坐抽獎,不會重復(fù)抽到某人)   

  (5)srandmember key:隨機取一個元素

 ?。?)sismember key value:判斷集合是否有某個值

  (7)scard key:返回集合元素的個數(shù)

 ?。?)smove source dest value:把source的value移動到dest集合中

 ?。?)sinter key1 key2 key3:求key1 key2 key3的交集

 ?。?0)sunion key1 key2:求key1 key2 的并集

 ?。?1)sdiff key1 key2:求key1 key2的差集

 ?。?2)sinterstore res key1 key2:求key1 key2的交集并存在res里 

六、有序集合

  概念:它是在set的基礎(chǔ)上增加了一個順序?qū)傩?,這一屬性在添加修改元素的時候可以指定,每次指定后,zset會自動按新的值調(diào)整順序??梢岳斫鉃橛袃闪械膍ysql表,一列存儲value,一列存儲順序,操作中key理解為zset的名字。

  和set一樣sorted,sets也是string類型元素的集合,不同的是每個元素都會關(guān)聯(lián)一個double型的score。sorted set的實現(xiàn)是skip list和hash table的混合體。

  當(dāng)元素被添加到集合中時,一個元素到score的映射被添加到hash table中,所以給定一個元素獲取score的開銷是O(1)。另一個score到元素的映射被添加的skip list,并按照score排序,所以就可以有序地獲取集合中的元素。添加、刪除操作開銷都是O(logN)和skip list的開銷一致,redis的skip list 實現(xiàn)是雙向鏈表,這樣就可以逆序從尾部去元素。sorted set最經(jīng)常使用方式應(yīng)該就是作為索引來使用,我們可以把要排序的字段作為score存儲,對象的ID當(dāng)元素存儲。

 ?。?)zadd key score1 value1:添加元素

  (2)zrange key start stop [withscore]:把集合排序后,返回名次[start,stop]的元素  默認(rèn)是升續(xù)排列  withscores 是把score也打印出來

 ?。?)zrank key member:查詢member的排名(升序0名開始)

  (4)zrangebyscore key min max [withscores] limit offset N:集合(升序)排序后取score在[min, max]內(nèi)的元素,并跳過offset個,取出N個

 ?。?)zrevrank key member:查詢member排名(降序 0名開始)

  (6)zremrangebyscore key min max:按照score來刪除元素,刪除score在[min, max]之間

  (7)zrem key value1 value2:刪除集合中的元素

 ?。?)zremrangebyrank key start end:按排名刪除元素,刪除名次在[start, end]之間的

  (9)zcard key:返回集合元素的個數(shù)

 ?。?0)zcount key min max:返回[min, max]區(qū)間內(nèi)元素數(shù)量

 ?。?1)zinterstore dest numkeys key1[key2..] [WEIGHTS weight1 [weight2...]] [AGGREGATE SUM|MIN|MAX]

      求key1,key2的交集,key1,key2的權(quán)值分別是weight1,weight2

      聚合方法用 sum|min|max

      聚合結(jié)果 保存子dest集合內(nèi)

      注意:weights,aggregate如何理解?

          答:如果有交集,交集元素又有score,score怎么處理?aggregate num->score相加,min最小score,max最大score,另外可以通過weights設(shè)置不同的key的權(quán)重,交集時  score*weight

七、服務(wù)器相關(guān)命令

 ?。?)ping:測定連接是否存活

  (2)echo:在命令行打印一些內(nèi)容

 ?。?)select:選擇數(shù)據(jù)庫

  (4)quit:退出連接

 ?。?)dbsize:返回當(dāng)前數(shù)據(jù)庫中key的數(shù)目

 ?。?)info:獲取服務(wù)器的信息和統(tǒng)計

  (7)monitor:實時轉(zhuǎn)儲收到的請求

 ?。?)config get 配置項:獲取服務(wù)器配置的信息

     config set 配置項  值:設(shè)置配置項信息

 ?。?)flushdb:刪除當(dāng)前選擇數(shù)據(jù)庫中所有的key

 ?。?0)flushall:刪除所有數(shù)據(jù)庫中的所有的key

 ?。?1)time:顯示服務(wù)器時間,時間戳(秒),微秒數(shù)

 ?。?2)bgrewriteaof:后臺保存rdb快照

  (13)bgsave:后臺保存rdb快照

 ?。?4)save:保存rdb快照

 ?。?5)lastsave:上次保存時間

 ?。?6)shutdown [save/nosave]

      注意:如果不小心運行了flushall,立即shutdown nosave,關(guān)閉服務(wù)器,然后手工編輯aof文件,去掉文件中的flushall相關(guān)行,然后開啟服務(wù)器,就可以倒回原來是數(shù)據(jù)。如果flushall之后,系統(tǒng)恰好bgwriteaof了,那么aof就清空了,數(shù)據(jù)丟失。

 ?。?7)showlog:顯示慢查詢

      問:多慢才叫慢?

      答:由slowlog-log-slower-than 10000,來指定(單位為微秒)

      問:服務(wù)器存儲多少條慢查詢記錄

      答:由slowlog-max-len 128,來做限制       

相關(guān)文章

  • Redis增減庫存避坑的實現(xiàn)

    Redis增減庫存避坑的實現(xiàn)

    在電商平臺或者倉庫管理系統(tǒng)中,庫存的管理是非常重要的一項任務(wù),本文主要介紹了Redis增減庫存避坑的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • Redis如何實現(xiàn)分布式鎖

    Redis如何實現(xiàn)分布式鎖

    相信大家對鎖已經(jīng)不陌生了,本文主要介紹了Redis如何實現(xiàn)分布式鎖,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Redis實現(xiàn)分布式鎖的實例講解

    Redis實現(xiàn)分布式鎖的實例講解

    在本篇文章里小編給大家整理了一篇關(guān)于Redis實現(xiàn)分布式鎖的實例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)參考下。
    2021-12-12
  • 深入解析Java中Redis的20個常用方法

    深入解析Java中Redis的20個常用方法

    隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,Java編程語言在計算機科學(xué)與技術(shù)中的應(yīng)用日益廣泛,本論文以"深入解析Java中Redis的20個常用方法"為主題,系統(tǒng)地探討了Java在Redis數(shù)據(jù)庫操作中的應(yīng)用和實現(xiàn),需要的朋友可以參考下
    2024-01-01
  • redislive監(jiān)控redis服務(wù)的圖文教程_動力節(jié)點Java 學(xué)院整理

    redislive監(jiān)控redis服務(wù)的圖文教程_動力節(jié)點Java 學(xué)院整理

    這篇文章主要介紹了redislive監(jiān)控redis服務(wù)的圖文教程_動力節(jié)點Java 學(xué)院整理,需要的朋友可以參考下
    2017-08-08
  • 詳解Redis中的List是如何實現(xiàn)的

    詳解Redis中的List是如何實現(xiàn)的

    List 的 Redis 中的 5 種主要數(shù)據(jù)結(jié)構(gòu)之一,它是一種序列集合,可以存儲一個有序的字符串列表,順序是插入的順序,本文將給大家介紹了一下Redis中的List是如何實現(xiàn)的,需要的朋友可以參考下
    2024-05-05
  • Redis緩存常用4種策略原理詳解

    Redis緩存常用4種策略原理詳解

    這篇文章主要介紹了Redis緩存常用4種策略原理詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • 使用SpringBoot集成redis的方法

    使用SpringBoot集成redis的方法

    這篇文章主要介紹了SpringBoot集成redis的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Redis筆記點贊排行榜的實現(xiàn)示例

    Redis筆記點贊排行榜的實現(xiàn)示例

    探店筆記類似點評網(wǎng)站的評價,本文主要介紹了Redis筆記點贊排行榜的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Redis為什么默認(rèn)有16個數(shù)據(jù)庫問題

    Redis為什么默認(rèn)有16個數(shù)據(jù)庫問題

    這篇文章主要介紹了Redis為什么默認(rèn)有16個數(shù)據(jù)庫問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02

最新評論

酉阳| 深州市| 丹阳市| 固原市| 灵石县| 五寨县| 大埔区| 枣强县| 鄂尔多斯市| 玛多县| 家居| 中西区| 澜沧| 峨山| 南江县| 上饶县| 德化县| 万载县| 武穴市| 郓城县| 新建县| 吴江市| 景谷| 开平市| 达拉特旗| 布尔津县| 镇沅| 石门县| 霸州市| 天门市| 通榆县| 阆中市| 大同市| 商河县| 马公市| 廉江市| 左贡县| 张家港市| 青海省| 红原县| 石林|