redis簡單命令

Redis的數(shù)據(jù)類型

String 字符串類型
一個鍵最多存儲512M

1> SET:設置key對應值為value
語法: SET key value
SET str1 'xdl'

2> GET:根據(jù)KEY找到對應的值
語法: GET key
注意:如果key不存在 返回nil

3>GETRANGE:返回字符串中的一部分
語法: GETRANGE key start end 

GETRANGE str1 0 1
GETRANGE str1 0 -1
GETRANGE str1 0 -2
GETRANGE str1 0 1000

4>GETSET:設置指定key的值,并返回舊值
語法: GETSET key value

SET str2 'itxdl'
GETSET str2 'xdl'
注意:當key不存在返回nil

5>MSET:一次設置多個鍵值對
語法:MSET key value [key value .......]

MSET str4 'xdl' str5 'itxdl' str6 'xdlo2o'


6>MSETNX:一次設置多個key-value對,只有所有的key都不存在的時候才會成功
語法: MSETNX key value [key value .....]

MSETNX str10 'a' str11 'b' str12 'c'

MSETNX str12 'd' str13 'e'


7>MGET:一次得到多個鍵值
語法: MGET key key 

MGET str4 str5 str6 

8>STRLEN:獲取key的字符串長度
語法: STRLEN key
STRLEN str4

9>SETRANGE:相當于字符串替換
語法:SETRANGE key offset value 

SET str7 'hello'

SETRANGE str7 5 'xdl'

注意: 如果設置key原來的字符串的長度比偏移量小,就會以零字節(jié)(\x00)來填充

10>SETNX:只有KEY不存在的時候才能設置成功
語法: SETNX key value
SETNX str7 'hello'

11>SETEX:設置一個KEY并且設置一個過期時間
語法: SETEX key seconds value 

SETEX str8 30 'xdl'

12>PSETEX: 以毫秒為單位設置KEY的生存周期
語法:PSEREX key milliseconds value

PSETEX set9 20000 'hello'

13> INCR:對key中存儲的數(shù)字加1 

語法: INCR key 

SET str14 1

INCR str14

INCR str15
注意:key如果不存在,則會先初始化為0,在進行INCR操作

14>INCRBY:將key中存儲的數(shù)字加上指定增量
語法: INCRBY key INCREMENT
SET str16 10
INCRBY str16 5
INCRBY str16 1.5

15>INCRBYFLOAT:將key中存儲的數(shù)字加上指定浮點數(shù)
語法; INCRBYFLOAT key increment
SET str17 1
INCRBYFLOAT str17 1.5 

16>DECR:將key中存儲的數(shù)字減1
語法: DECR key
SET str18 1
DECR str18 

17>DECRBY:將key中存儲的數(shù)值減指定值
語法: DECRBY key decrement
SET str19 20
DECRBY str19 5

18>APPEND:通過APPEND將值追加到字符串末尾
語法:APPEND key value
SET str20 'xdl'
APPEND str20 'o2o'

LIST列表類型
1>LPUSH:向列表左端添加元素
語法: LPUSH key value value ....
LPUSH list1 a b c

2>RPUSH:向列表右端添加元素
語法: RPUSH key value ....
RPUSH list1 d e 

3>LRANGE:獲取列表片段
語法: LRANGE key start stop 
LRANGE list1 0 -1

4>LPUSHX:向列表頭部添加元素,只有key存在才添加
語法: LPUSHX key value
LPUSHX list1 a 

5>RPUSHX:向列表尾部添加元素,只有key存在才添加
語法: RPUSHX key value 

6>LPOP:將列表頭部的元素彈出
語法: LPOP key 
LPOP list1
7>RPOP:彈出列表尾部元素
語法: RPOP key 
RPOP list1
8>LLEN:獲取列表長度
語法 LLEN key 
LLEN list1 

9>LREM:刪除列表中的指定值
語法: LREM key count value
count >0 :從列表頭部開始,向尾部搜索,移除與value相等的元素,移除count個
count <0 :從列表的尾部開始,向頭部搜索,,移除與value相等的元素,移除count個
count = 0:移除列表中所有與value相等的元素

LPUSH list3 a b c d a e b d c b e d 
LREM list3 2 a
LREM list3 -2 b
LREM list3 0 d

10>LINDEX:獲取指定索引元素上的值
語法: LIDEX key index
LINDEX list3 3

11>LSET:設置指定元素的值
語法: LSET key index value
LSET list3 10 a


12>LTRIM:只保留列表片段
語法:LTRIM key start stop 

LTRIM list3 0 3

LPUSH list3 a b c a b c a b c 

LTRIM list3 0 1000 

13>LINSERT 向列表中插入元素
語法: LINSERT key BEFORE|AFTER pivot value

LPUSH list4 a b c d 

LINSERT list4 BEFORE 'b' 'x'
LINSERT list4 AFTER  'b' 'x'

14>RPOPLPUSH:將元素從一個列表轉移到另一個列表
語法 RPOPLPUSH  source destination 
LPUSH list5 a b c 
LPUSH list6 x y z 
RPOPLPUSH list5 list6 

SET集合類型:無序集合
1> SADD:向集合中添加一個元素
語法 SADD key value [,.......]
SADD set1 xdl
SADD set1 itxdl

2>SMEMBERS:返回指定集合中的元素
語法: SMEMBERS key
SMEMBERS set1

3>SISMEMBER:檢查member是否是集合中的成員
語法:SISMEMBER key member
SISMEMBER set1 xdl

4>SREM:刪除集合中一個或多個成員
語法:SREM key member [member ....]

SREM set1 xdl

5>SPOP:刪除并返回集合中的隨機元素
語法: SPOP key
SPOP set1

6>SRANDMEMBER:隨機返回集合中元素
語法: SRANDMEMBER key count
注意:
    count 為正數(shù),而且小于集合中的元素,返回一個隨機元素的集合數(shù)組,
        count 數(shù)大于集合中的個數(shù)的時候,返回整個集合
    count 為負數(shù),返回一個數(shù)組,數(shù)組中的成員可能出現(xiàn)重復,數(shù)組的長度是count的絕對值
SRANDMEMBER set1 -3
7>SDIFF:返回集合的差集
語法: SDIFF key key ....
SADD set2 a b c d 
SADD set3 c d e f 
SADD set4 a e 
SDIFF set3 set2
SDIFF set2 set3 set4

8>SINTER:返回集合的交集
語法: SINTER key key key ...
SINTER set2 set3
SADD set5 c 
SINTER set2 set3 set5 

9>SUNION:返回集合中并集
語法: SUNION key key ... 
SUNION set2 set3 
SUNION set2 set3  set4 

10>SCARD:返回集合中元素個數(shù)
語法: SCARD key 
SCARD set2

11>SDIFFSTORE:將差集的結果保存到指定的集合當中
語法: SDIFFSTORE destination key key  ....
SDIFFSTORE set6 set2 set3

12>SINTERSTORE:將交集的結果保存到指定的集合當中
語法: SINTERSTORE destination key key  ....
SINTERSTORE set7 set2 set3

13>SUNIONSTORE:將并集的結果保存到指定的集合當中
語法: SUNIONSTORE destination key key  ....
SUNIONSTORE set8 set2 set3

14>SMOVE:將集合中的元素移動另一個集合中
語法 SMOVE source destination member 
SMOVE set3 set2 e

Hash類型
1>HSET:將哈希表中的key中的field設置成指定的value
語法:HSET key field value
HSET h1 username 'zhangsan'
HSET h1 password '123'
HSET h1 age '18'

2>HGET:返回哈希表key中給的field的值
語法: HGET key field
HGET h1 username 
HGET h1 age

3>HSETNX:將hash表中的field設置成指定的值,只有field不存在才能成功,如果field存在,操作無效
語法 HSETNX  key field value
HSETNX h1 aaa '20'
HSETNX h1 aaa '21'

4>HMSET:通過多個 field value設置到hash表key中
語法 HMSET key  field value field value  .....
HMSET h2 username 'lisi' age '20' password '456'

5>HMGET:一次獲得hash表key中多個field的值
語法: HMGET key field field .....
HMGET h2 username age password  
HMGET h2 username age password  aaa 
注意:如果hash表key中field不存在,返回nil

6>HGETALL:返回hash表key中所有的field和value
語法 HGETALL key 
HGETALL h2

7>HKEYS:返回hash表key中的所有的field
語法 HKEYS key
HKEYS h2 

8>HVALS:返回hash表key中所有的field的對應值
語法 HVALS key 

HVALS h2


9>HEXISTS:檢測hash中key的field是否存在
語法: HEXISTS key field
HEXISTS h2 username
HEXISTS h2 aaa

10>HLEN:返回hash表key中的field的數(shù)量
語法 HLEN key
HLEN h2

11>HINCRBY :給hash表key中的field做增量操作
語法 HINCRBY key field increment
HSET h3 age 20
HINCRBY h3 age 5 

12>HINCRBYFLOAT:給hash表key中的field做增量浮點操作
語法: HINCRBYFLOAT key field increment
HSET h3 aaa '12.2'
HINCRBYFLOAT h3 aaa 2.5 

13>HDEL:刪除hash中key的指定field,可刪除一個或多個
語法: HDEL key field field  .....
HDEL h2 username 
HGETALL h2 

zset(sorted set)有序集合

1> ZADD:將元素及其分數(shù)添加到集合中
語法:ZADD key score member [score member]
ZADD zset 100 xdl 
ZADD zset 98 zhangsan 98 list 80 test 78 test1 85 test2
ZADD zset  60 test2 67 test3 56 test4

2> ZSCORE:獲得指定元素的分數(shù)
語法:ZSCORE key member
ZSCORE zset  xdl
ZADD zset 12.3 test5 

3> ZRANGE:按照元素分數(shù)從小到大的順序返回指定索引start到stop之間所有元素(包含兩端)
語法:ZRANGE key start stop [WITHSCORES]
ZRANGE zset 0 -1
ZRANGE zset  0 -1 WITHSCORES
ZRANGE zset  0 2 WITHSCORES
ZRANGE zset   0 2000 WITHSCORES
ZRANGE zset   1000 2000 WITHSCORES
ZADD zset   60 test6 60 test7 60 test8 60 test9
注意:當兩個元素的分數(shù)相同的時候,Redis在排序按照字典的順序(0<9<A<Z<a<z),如果使用的是UTF-8的編碼方式的中文同樣按照字典順序排列

4》ZREVRANGE:和ZRANGE相反,按照分數(shù)從大到小的順序
語法:ZREVRANGE key start stop [WITHSCORES]
ZREVRANGE zset   0 -1 WITHSCORES

5》ZRANGEBYSCORE:獲得指定分數(shù)范圍內的元素,按照分數(shù)從小到大的順序,返回的是分數(shù)在指定的min到max的元素
語法:ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
#獲得分數(shù)80~90之間的所有元素 包含80 90 
ZRANGEBYSCORE zset   80 90`
ZADD zset  81 test9 82 test10 83 test11 84 test12 84 test13 88 test14 89 test15 90 test16
ZRANGEBYSCORE zset  80 90 WITHSCORES
ZRANGEBYSCORE zset  80 (90 WITHSCORES
ZRANGEBYSCORE zset  (80 (90 WITHSCORES  
RANGEBYSCORE zset  (80 (90 WITHSCORES  LIMIT 0 3
#注意:通過(代表不包端點#
6》ZREVRANGEBYSCORE:獲得指定分數(shù)范圍內的元素,按照元素的分數(shù)從大到小的順序返回min和max之間的元素
語法:ZREVRANGEBYSCORE key max min [WITHSCORES] [LIMIT offset count]

ZREVRANGEBYSCORE zset  90 80 WITHSCORES

7》ZINCRBY:操作某個元素的分數(shù),返回操作之后的分數(shù)

語法:ZINCRBY key increment member

ZINCRBY zset  5 test16

ZINCRBY zset   -15 test16

8》ZCARD:獲得集合中元素的數(shù)量

語法:ZCARD key

ZCARD zset   

9》ZCONUT:獲得指定分數(shù)內的元素的數(shù)量

語法:ZCOUNT key min max

ZCOUNT zset   80 90
COUNT zset   (80 (90

10》ZREM:刪除一個或者多個元素,返回刪除元素的個數(shù)

語法:ZREM key member ...

ZREM zset   test16

11》ZREMRANGEBYRANK:按照排名范圍刪除元素,按照分數(shù)從小到大的順序刪除所指定的排名范圍內的所有元素

語法:ZREMRANGEBYRANK key start stop

ZADD testRem 1 a 2 b 3 c 4 d 5 e 6 f 7 g 8 h

ZREMRANGEBYRANK testRem 0 2
ZRANGE testRem  0 -1 WITHSCORES

12》ZREMRANGEBYSCORE:按照分數(shù)范圍刪除元素

語法:ZREMRANGEBYSCORE key min max

ZADD testRem1 1 a 2 b 3 c 4 d 5 e 6 f 7 g 8 h

ZREMRANGEBYSCORE testRem1 3 7
ZRANGE testRem1   0 -1 WITHSCORES

13》ZRANK:獲得指定元素的排名,根據(jù)分數(shù)從小到大的順序

語法:ZRANK key member

ZRANK zset xdl
ZRANGE zset    0 -1 WITHSCORES

14》ZREVRANK:獲得指定元素的排名,根據(jù)分數(shù)從大到小的順序

語法:ZREVRANK key member

ZREVRANK zset xdl
ZREVRANGE zset  0 -1 WITHSCORES

15》ZINTERSTORE:計算有序集合的交集,并將結果保存起來

語法:ZINTERSTORE destination numkeys [WEIGHTS weight weight...] [AGGREGATE SUM | MIN | MAX]

ZADD zset2 1 a 2 b 3 c

ZADD zset3 10 a 20 b 30 c

ZINTERSTORE zset4 2  zset2  zset3 

ZREVRANGE zset5   0 -1 WITHSCORES

ZINTERSTORE zset4 2  zset2  zset3  AGGREGATE SUM

ZINTERSTORE zset5 2  zset2  zset3  AGGREGATE MIN

ZINTERSTORE zset6 2  zset2  zset3 AGGREGATE MAX

ZINTERSTORE zset7 2  zset2  zset3  WEIGHTS 2 0.2

16》ZUNIONSTORE:計算有序集合并集,將結果保存起來

語法:ZUNIONSTORE destination numkeys key key ... [WEIGHTS  weight weight...] [AGGREGATE SUM | MIN | MAX]

ZADD zset8 1 a 2 b 3 c

ZADD zset9 4 d 5 e 6 f 7 a

ZUNIONSTORE zset10 2   zset8 zset9

ZRANGE  zset10 0 -1 WITHSCORES

ZUNIONSTORE zset11 2 zset8 zset9 AGGREGATE SUM
ZRANGE  zset11 0 -1 WITHSCORES
ZUNIONSTORE zset12 2  zset8 zset9 AGGREGATE MIN
ZRANGE  zset12 0 -1 WITHSCORES
ZUNIONSTORE zset13 2  zset8 zset9 AGGREGATE MAX
ZRANGE  zset13 0 -1 WITHSCORES
ZUNIONSTORE zset14 2  zset8 zset9 WEIGHTS 2 2
ZRANGE  zset14 0 -1 WITHSCORES
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容