Redis是一個(gè)基于鍵值對(duì)的內(nèi)存數(shù)據(jù)庫(kù),在實(shí)際的開發(fā)過程中较解,其應(yīng)用非常的廣泛畜疾。今天就先來(lái)看一看Redis的一些命令
一赴邻、Redis常用管理命令整理:
- 查看Redis的相關(guān)信息:
info
- 清空Redis數(shù)據(jù)的鍵值對(duì):
- 清空當(dāng)前
database
的鍵值對(duì):flushdb
- 清空全部
database
的鍵值對(duì):flushall
- 清空當(dāng)前
- 查看當(dāng)前
database
中鍵值對(duì)的數(shù)量:dbsize
- 手動(dòng)觸發(fā)的Redis持久化操作:
save
- 退出當(dāng)前的連接:
quit
- 查看當(dāng)前日志:
monitor
二、Redis常用鍵命令整理:
- 保存鍵值對(duì):
- 普通設(shè)置:
set <key> <value>
- 一次性設(shè)置多個(gè)鍵值對(duì):
mset <key1> <value1> [<key2> <value2> [<key3> <value3> [...]]]
- 普通設(shè)置:
- 獲取鍵值對(duì):
- 普通獲确却贰:
get <key>
- 一次性獲取多個(gè)鍵值對(duì):
mget <key1> [<key2> [<key3> [...]]]
- 獲取字符串值的子段:
getrange <key> <begin-index-included> <end-index-included>
- 設(shè)置一個(gè)新值姥敛,并返回其原始值:
getset <key> <new-value>
- 普通獲确却贰:
- 刪除鍵值對(duì):
del <key>
- 返回1表示刪除成功,0表示失敗
- 判斷<key>是否存在:
exists <key>
- 返回
1
表示刪除成功瞎暑,0
表示失敗
- 返回
- 查看命令的剩余過期時(shí)間:
ttl <key>
- ttl:Time To Leave彤敛,單位是秒
- 返回時(shí)
-1
表示這個(gè)key沒有過期時(shí)間
- 設(shè)置一個(gè)key的過期時(shí)間:
- 設(shè)置已經(jīng)存在的
<key>
的過期時(shí)間:expire <key> <expire-time-in-seconds>
- 設(shè)置新
<key>
的過期時(shí)間:setex <key> <expire-time-in-seconds> <value> psetex <key> <expire-time-in-milliseconds> <value>
- 返回值是
-2
的時(shí)候表示這個(gè)<key>
已經(jīng)不存在了
- 返回值是
- 設(shè)置已經(jīng)存在的
- 獲取一個(gè)
<key>
對(duì)應(yīng)的值的數(shù)據(jù)類型:type <key>
- 隨機(jī)從當(dāng)前的
database
中獲取一個(gè)<key>
:randomkey
- 重命名
<key>
:rename <old-key> <new-key>
- 以
nx
結(jié)尾的命令(下面不再羅列):<cmd>nx <options>
-
nx
表示not exists
- 如
setnx
- 范例:
renamenx k1 k2
表示當(dāng)k2不存在的時(shí)候進(jìn)行rename操作
-
- 以
m
開頭的命令:m<cmd> <options>
-
m
表示multi
,批量操作 - 如
mset
金顿,msetnx
(以m開頭臊泌,nx結(jié)尾的命令有原子性的特點(diǎn)) - 見1
-
三、Redis常用常用數(shù)據(jù)類型特有命令整理:
- 字符串
- 計(jì)算
<key>
對(duì)應(yīng)的字符串值的長(zhǎng)度:strlen <key>
- 在
<key>
對(duì)應(yīng)的字符串值上繼續(xù)拼接:append <key> <string-to-append>
- 計(jì)算
- 數(shù)字
- 計(jì)算
<key>
對(duì)應(yīng)的數(shù)字值加/減1
的結(jié)果:incr/decr <key>
- 計(jì)算
<key>
對(duì)應(yīng)的數(shù)字值加/減<step>
的結(jié)果:incrby/decrby <key> <step>
- 計(jì)算
- Hash
- 設(shè)置hash:
hset <field> <key> <value>
- 判斷某個(gè)<field>的<key>是否存在:
hexists <field> <key> <field>
- 獲取<field>的<key>的值:
hget <field> <key>
- 獲取<field>中所有的<key>和<value>:
hgetall <field>
- 獲取<field>的所有的<key>:
hkeys <field>
- 獲取<field>的所有的<values>:
hvals <field>
- 獲取<field>的鍵值對(duì)的個(gè)數(shù):
hlen <field>
- 根據(jù)<key>列表獲取<field>中指定<key>的值:
hmget <field> <key1>[ <key2>[ <key3>[ ...]]]
- 在<field>中設(shè)置多個(gè)<key><value>:
hmset <field> <key1> <value1>[ <key2> <value2>[ <key3> <value3>[ ...]]]
- 刪除<field>的<key><value>:
hdel <field> <key1>[ <key2>[ <key3> [...]]]
- 設(shè)置hash:
- list
- 添加元素到list的頭部:
lpush <list-name> <ele1>[ <ele2>[ <ele3>[ ...]]]
- 刪除list的元素揍拆,lpop是從頭部開始刪除渠概,rpop從尾部移除:
lpop <list-name> <ele1>[ <ele2>[ <ele3>[ ...]]]
- 單獨(dú)設(shè)置list的元素:
lset <list-name> <index> <value>
- 獲取list的長(zhǎng)度:
llen <list-name>
- 根據(jù)一個(gè)list生成另一個(gè)list:
lrange <list1-name> <start-index-included> <start-index-included>
- 根據(jù)索引獲取list的元素:
lindex <list-name> <index>
- 添加元素到list的頭部:
- set(使用hash實(shí)現(xiàn))
- 添加元素到set:
sadd <set-name> <ele1>[ <ele2>[ <ele3>[ ...]]]
- 獲取set元素的數(shù)量:
scard <set-name>
- 重命名set名稱:
rename <old-set-name> <new-set-name>
- 獲取set所有成員:
smembers <set-name>
- 計(jì)算兩個(gè)集合的差集:
sdiff <set-name1> <set-name2>
- 計(jì)算兩個(gè)集合的交集:
sinter <set-name1> <set-name2>
- 計(jì)算兩個(gè)集合的并集:
sunion <set-name1> <set-name2>
- 隨機(jī)取出兩個(gè)集合的:
srandmember <set-name>
- 判斷元素在不在集合中:
sismember <set-name> <ele>
- 移除并返回隨機(jī)的set成員:
spop <set-name>
- 添加元素到set:
- zset(使用hash實(shí)現(xiàn),元素不能重復(fù)嫂拴,分?jǐn)?shù)可以重復(fù))
- 添加元素到zset:
zadd <zset-name> <score1> <ele1>[ <score2> <ele2>[ <score3> <ele3>[ ...]]]
- 獲取zset的元素個(gè)數(shù):
zcard <zset-name>
- 獲取zset中元素分?jǐn)?shù):
zscore <zset-name> <ele>
- 獲取zset某個(gè)分?jǐn)?shù)區(qū)間的元素個(gè)數(shù):
zcount <zset-name> <begin-score-include> <end-score-include>
- 獲取zset的某個(gè)元素的索引:
zrank <zset-name> <ele>
- 加減zset的某個(gè)元素的score:
zincrby <zset-name> <score> <ele>
- 按照zset中元素的排序獲取某個(gè)區(qū)間段的元素播揪,也可以同時(shí)返回其分?jǐn)?shù):
zrank <zset-name> <begin-index-include> <end-index-include>[ withscores]
- 添加元素到zset: