學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

linux的redis操作命令(2)

時間: 佳洲1085 分享

  linux的redis操作命令四、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é)

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

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

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

  (4)hget myhash field:獲取指定的hash field

  (5)hmget myhash field1 field2:一次獲取多個field

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

  (7)hexists myhash field:測試指定的field是否存在

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

  (9)hdel myhash field:刪除指定的field

  (10)hkeys myhash:返回hash所有的field

  (11)hvals myhash:返回hash所有的value

  (12)hgetall myhash:獲取某個hash中全部的field及value

  linux的redis操作命令五、集合結(jié)構(gòu)操作

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

  (1)sadd key value1 value2:往集合里面添加元素

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

  (3)srem key value:刪除集合某個元素

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

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

  (6)sismember key value:判斷集合是否有某個值

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

  (8)smove source dest value:把source的value移動到dest集合中

  (9)sinter key1 key2 key3:求key1 key2 key3的交集

  (10)sunion key1 key2:求key1 key2 的并集

  (11)sdiff key1 key2:求key1 key2的差集

  (12)sinterstore res key1 key2:求key1 key2的交集并存在res里

  linux的redis操作命令六、有序集合

  概念:它是在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)元素存儲。

  (1)zadd key score1 value1:添加元素

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

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

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

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

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

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

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

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

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

  (11)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

  linux的redis操作命令七、服務(wù)器相關(guān)命令

  (1)ping:測定連接是否存活

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

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

  (4)quit:退出連接

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

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

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

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

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

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

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

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

  (12)bgrewriteaof:后臺保存rdb快照

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

  (14)save:保存rdb快照

  (15)lastsave:上次保存時間

  (16)shutdown [save/nosave]

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

  (17)showlog:顯示慢查詢

  問:多慢才叫慢?

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

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

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

linux的redis操作命令(2)

linux的redis操作命令四、hashes類型及操作 Redis hash 是一個string類型的field和value的映射表,它的添加、刪除操作都是O(1)(平均)。hash特別適用于存儲對象,將一
推薦度:
點擊下載文檔文檔為doc格式

精選文章

  • linux下redis-cli命令
    linux下redis-cli命令

    Linux下redis提供了很多命令,方便我們對數(shù)據(jù)庫進行操作。下面由學(xué)習(xí)啦小編為大家整理了linux下redis-cli命令的相關(guān)知識,希望對大家有幫助! linux的redis-cl

  • linux的ping命令設(shè)置時間間隔
    linux的ping命令設(shè)置時間間隔

    Linux下ping命令可以設(shè)置每次ping的時間間隔。下面由學(xué)習(xí)啦小編為大家整理了linux下ping命令設(shè)置時間間隔的相關(guān)知識,希望對大家有幫助! linux的ping命令設(shè)置

  • linux的ping命令端口號
    linux的ping命令端口號

    Linux下ping命令可以用來檢測ip。下面由學(xué)習(xí)啦小編為大家整理了linux下ping命令端口號的相關(guān)知識,希望對大家有幫助!

  • linux下ping命令的用法
    linux下ping命令的用法

    Linux下掌握ping命令可以為我們檢測網(wǎng)絡(luò)狀態(tài)。下面由學(xué)習(xí)啦小編為大家整理了linux下ping命令用法的相關(guān)知識,希望對大家有幫助! linux的ping命令的用法詳解

3630359