Redis的常用命令

啟動和連接

啟動命令

./redis-server.exe redis.windows.conf

連接本機的redis

redis-cli

連接指定的ip、端口的redis,-h是ip地址,-p是端口號

redis-cli -h 192.168.200.146 -p 6379

如果redis配置文件中,設(shè)置了密碼,如123456,則添加-a參數(shù)

redis-cli -h 192.168.200.146 -p 6379 -a 123456

退出redis-cli

exit

使用redis-cli,停止redis

redis-cli shutdown

操作命令

字符串

設(shè)置指定的key-value

# 語法
set key value

# 示例
set name zhangsan

獲取指定的key

# 語法
get key

# 示例
get name

設(shè)置指定的key-value,并設(shè)置key的過期時間,單位為秒

# 語法
setex key seconds value

# 示例,設(shè)置name,并在5秒后過期
setex name 5 zhangsan

只有在key不存在時,才設(shè)置key-value

# 語法
setnx key value

# 示例
setnx age 25

刪除指定的key,若有多個,則用空格隔開

# 語法
del key

# 示例
del name age

Hash哈希

  • Hash類型,也叫散列,其value值是一個無序的字典,類似Java中的HashMap
  • key是字符串,value值由field和小value組成,簡稱key為大key,field為小key

設(shè)置哈希中的field和value

# 語法
hset key field value

# 示例
hset user name zhangsan
hset user age 18

獲取哈希中指定field的value值

# 語法
hget key field

# 示例
hget user name
hget user age

獲取哈希中指定field中的所有key值

# 語法
hkeys key

# 示例
hkeys user

獲取哈希中指定field中的所有value值

# 語法
hvals key

# 示例
hvals user

刪除哈希中的某個field

# 語法
hdel key field

# 示例
hdel user name

有序列表List

  • 列表List,與Java中的LinkedList類似,是一個雙向鏈表結(jié)構(gòu),支持正向檢索,也支持反向檢索
  • 特點
    • 有序
    • 元素可以重復
    • 插入和刪除快
    • 查詢速度一般

從左邊,將一個或多個值,插入到列表的頭部,多個值用空格隔開

# 語法
lpush key value1 value2

# 示例
lpush arrays zhangsan

查詢列表中指定范圍的元素

  • 索引從0開始,區(qū)間是包前又包后
  • start是開始位置,stop為結(jié)束位置,0代表從第一個元素開始,-1代表是元素的末尾
# 語法
lrange key start stop

# 示例
lrange arrays 0 -1

從右邊,將一個或多個值,插入到列表的尾部,多個值用空格隔開

# 語法
rpush keys value1 value2

# 示例
rpush arrays Barry Wally

獲取列表的長度

# 語法
llen key

# 示例
llen arrays

從左邊,刪除列表的元素,并獲取被刪除的元素

# 語法
lpop key

# 示例
lpop arrays

從右邊,刪除列表元素,并獲取被刪除的元素

# 語法
rpop key

# 示例
rpop arrays

從右邊,刪除列表元素,如果列表為空,則阻塞列表到到達超時時間

# 語法
brpop key timeount

# 示例
brpop arrays 3

無序集合Set

  • 集合Set,結(jié)構(gòu)和Java的HashSet類似
  • 特點
    • 無序
    • 元素不可重復
    • 查找快
    • 支持交集、并集、差集(集合之間,不同的元素)等功能

向Set中,添加元素,多個元素用空格隔開

# 語法
sadd key member1 member2

# 示例
sadd set1 a b c d

獲取Set的所有元素

# 語法
smembers key

# 示例
smembers set1

獲取Set的長度

# 語法
scard key

# 示例
scard set1

獲取多個Set的交集(多個集合,都有的元素)

# 語法
sinter key1 key2

# 示例
sinter set1 set2

獲取多個Set的并集(多個集合,合并的元素)

  • 注意:合并后,重復的元素會被去重
sunion key1 key2

# 示例
sunion set1 set2

刪除Set中的一個或多個元素

srem key member1 member2

# 示例
srem set1 a b

有序集合SortedSet

  • 集合SortedSet,可排序的Se,也叫ZSet,與Java的TreeSet類似,但底層數(shù)據(jù)結(jié)構(gòu)差別相當大,每個元素都帶有一個score分值,可以基于score進行排序,底層是一個跳表(SkipList)+ 哈希表
  • 特點
    • 可排序
    • 元素不重復
    • 查詢速度快

向ZSet中添加一個或多個元素

# 語法
zadd key score1 member1 score member2

# 示例
zadd zset1 50 zhangsan 10 lisi

查詢ZSet中的指定范圍的元素

  • 索引從0開始,區(qū)間是包前又包后
  • start是開始位置,stop為結(jié)束位置,0代表從第一個元素開始,-1代表是元素的末尾
  • 默認升序排序,也就是從低到高
# 語法
zrange key start stop

# 示例
zrange zset1 0 -1

增加ZSet中某個元素的分值

  • incrementScore為增加的分值
  • member為給誰增加分值
# 語法
zincrby key incrementScore member

# 示例
zincrby zset1 10 lisi

刪除ZSet中的某個元素

# 語法
zrem key member

# 示例
zrem zset1 wangwu

通用命令

  • 不分數(shù)據(jù)類型,所有數(shù)據(jù)類型都可以使用的命令

獲取所有符合給定模式的key(類似模糊查詢)

# 語法
keys pattern

# 示例
# 查詢所有key
keys *

# 查詢指定開頭的key
keys s*

# 查詢以1結(jié)尾的key
keys *1

判斷某個key是否存在

# 語法
exists key

# 示例
exists zset1

獲取指定key的數(shù)據(jù)類型

# 語法
type key

# 示例
type zset1

刪除某個key

# 語法
del key

# 示例
del user
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容