Redis基础命令

特点

  1. redis采用单线程多路复用模式
  2. 所有操作都具有原子性
  3. 定期删除+惰性删除+内存淘汰机制
  4. AOF+RDB持久化

常用命令

基础命令
命令作用举例
select index选择redis数据库select 1
dbsize返回当前数据库的 key 的数量dbsize
del key1 key2删除指定key,返回删除数量del key
flushdb [ASYNC]清空当前数据库中的所有 keyflushdb
flushall[ASYNC]清空整个 Redis 服务器的数据flushall
keys pattern查看当前数据库中的所有keykeys *
scan cursor match count type增量式迭代命令scan 0 match * count 20
exists key1 key2检查给定 key 是否存在。不存在:0exists a b c
expire key seconds为给定 key 设置生存时间expire a 5
ttl key返回给定 key 的剩余生存时间ttl a
persist key移除给定 key 的生存时间persist a
type key返回 key 所储存的值的类型type a
move key db将当前数据库的 key 移动到给定的数据库 db 当中。move a 1
String相关命令

特点

  1. 值得大小不超过512m
  2. 推荐key命名规则object:id:field,方便在redis桌面管理中查看
命令作用举例
set key value [NX PX][NX XX]将字符串值 value 关联到 key 。set a 1
mset k1 v1 k2 v2同时为多个键设置值。(原子)mset a 1 b 2
msetnx k1 v1 k2 v2当且仅当所有给定键都不存在时, 为所有给定键设置值。msetnx a 1 b 2
setRange offset key value从offset开始,用value参数覆写key储存的字符串值。setrange a 1 abc
get返回与键 key 相关联的字符串值get a
getset key value将键 key 的值设为新value,返回旧value,不存在返回nilgetset a 2
strlen key返回键 key 储存的字符串值的长度strlen a
getRange key start end返回键 key 储存的字符串值的指定部分getrange a 0 -1
incr key对应键值自增加+1incr a
incrby key increment对应键值自增加+incrementincr a 3
decr key对应键值自减1decr a
decrby key decrement对应键值自减decrby a 1
append key value在key末尾添加valueappend a abc
rename key newkey将 key 改名为 newkeyrename a b
List相关命令

特点

  1. 底层实现为LinkedList链表
  2. list 最多可以有 2^32 - 1 个元素
命令作用举例
lpush key value…将一个或多个值 value 插入到列表 key 的表头lpush alist a b c
lpushx key value当列表存在,将值 value 插入到列表 key 的表头lpushx alist d
rpushx key value当列表存在,将值 value 插入到列表 key 的表尾rpushx alist d
lpop key移除并返回列表 key 的头元素lpop alist
rpop key移除并返回列表 key 的尾元素。rpop alist
rpoplpush source destination将source尾部元素添加到destination头部,返回source尾部rpoplpush alist blist
lrem key count value删除列表中与value值相同的元素,count表示删除个数和遍历位置lpush alist a b c
linsert key [before|after] pivot value在列表中pivot元素前后插入value值linsert alist before b a
lset key index value将列表index位置上的元素改为value值lset alist 0 b
ltrim key start stop将列表修剪为start-stop范围ltrim alist 0 10
blpop key… timeout阻塞式弹出第一个不为空列表的表头blpop alist blist 10
brpop key… timeout阻塞式弹出第一个不为空列表的表尾brpop alist blist 10
brpoplpush source destination timeout阻塞式弹出表头插入表尾brpoplpush alist blist 10
SET相关命令

特点

  1. 一个无序的字符串集合,其中元素不重复
  2. set中最多可以有 2^32 - 1 个元素
命令作用举例
sadd key member…将一个或多个 member 元素加入到集合 key 当中sadd aset a b c
smove source destination member将member从source集合移动到destination集合smove aset bset d
spop key count移除并返回集合中的count个随机元素spop aset 2
srem key member…移除集合 key 中的一个或多个 member 元素srem aset d j
srandmember key count随机返回count个元素srandmember aset 2
smembers key返回集合 key 中的所有成员smembers aset
scard key返回集合中元素的数量scard aset
sismember key member判断 member 元素是否集合 key 的成员sismember aset a
sdiff key…返回所有给定集合之间的差集sdiff aset bset
sdiffstore destination key…返回所有给定集合之间的差集并存储在destination中sdiffstore cset aset bset
sinter key…返回所有给定集合的交集sinter aset bset
sinterstore destination key…返回所有给定集合的交集并存储在destination中sinterstore cset aset bset
sunion key…返回所有给定集合的并集sunion aset bset
sunionstore destination key…返回所有给定集合的并集并存储在destination中sunionstore cset aset bset
HASH相关命令

特点

  1. hash中最多可以有 2^32 - 1 个key/value 键值对
命令作用举例
hset key field value将哈希表 hash 中域 field 的值设置为 valuehset ahash name king
hsetnx key field value当且仅当域 field 尚未存在于哈希表的情况下, 将它的值设置为 valuehsetnx ahash name king
hmset key (field value)…同时将多个 field-value (域-值)对设置到哈希表 key 中hmset ahash name king age 10
hget key field返回哈希表中给定域的值hget ahash name
hmget key field…返回哈希表 key 中,一个或多个给定域的值hmget ahash name age
hgetall key返回哈希表 key 中,所有的域和值hgetall ahash
hdel key field…删除指定key中的域值hdel ahash name age
hincrby key field increment为哈希表 key 中的域 field 的值加上增量 incrementhincrby ahash age 2
hincrbyfloat key field increment为哈希表 key 中的域 field 加上浮点数增量 incrementhincrbyfloat ahash height 2.3
hkeys key返回哈希表 key 中的所有域hkeys ahash
hvals key返回哈希表 key 中所有域的值。hvals ahash
hexists key field判断指定key的域是否存在hexists ahash name
hlen key返回哈希表 key 中域的数量hlenahash age
hstrlen key field返回哈希表 key 中, 与给定域 field 相关联的值的字符串长度hstrlen ahash height
Sorted Set相关命令
命令作用举例
zadd [NX|XX] (score member)…将一个或多个 member 元素及其 score 值加入到有序集 key 当中。zadd azset 1 name 2 king
zrem key member…移除有序集 key 中的一个或多个成员,不存在的成员将被忽略。zrem azset name king
zrange key start stop withscores返回有序集 key 中,指定区间内的成员。zrange azset 0 -1
zcard key返回有序集 key 的基数zcard azset
zcount key min max返回有序集 key 中,score 值在 min 和 max 之间的成员的数量。zcount azset 0 2
zscore key member返回有序集 key 中,成员 member 的 score 值zscore azset name
zrank key member返回有序集 key 中成员 member 的排名zrank azset name
zrevrank key member集合按照score降序排列,返回有序集 key 中成员 member 的排名zrevrank azset name
zincrby key increment member为有序集 key 的成员 member 的 score 值加上增量 incrementzincrby azset 2 name
zinterstore destination numkeys key…计算给定的一个或多个有序集的交集,存储到destinationzinterstore czset 2 azset bzset
zunionstore destination numkeys key…计算给定的一个或多个有序集的并集,存储到destinationzunionstore czset 2 azset bzset
HyperLogLog相关命令

特点

  1. 用于统计基数,牺牲准确性来节省空间
命令作用举例
pfadd key element…将任意数量的元素添加到指定的 HyperLogLog 里面。pfadd alog a b
pfcount key…返回所有给定 HyperLogLog 的并集的近似基数pfcount alog blog
pfmerge destkey sourcekey…将多个 HyperLogLog 合并(merge)为一个 HyperLogLogpfmerge clog blog ablog
BitMap相关命令

特点

  1. 定义在字符串类型上的面向位的操作的集合
命令作用举例
setbit key offset value对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)setbit abit 0 1
getbit key offset对 key 所储存的字符串值,获取指定偏移量上的位(bit)getbit abit 0
bitcount key start end计算给定字符串中,被设置为 1 的比特位的数量。bitcount abit 0 1
bitpos key bit start end返回位图中第一个值为 bit 的二进制位的位置。bitpos abit 0 0 2
bitop operation destkey key…对一个或多个 key 进行逻辑运算,并将结果保存到 destkeybitop and cbit abit bbit
bitfield key [get type offset][incrby type offset increment]接受一系列待执行的操作作为参数, 并返回一个数组作为回复bitfield abit get i8 100
事务相关命令
命令作用举例
multi标记一个事务块的开始。multi
exec执行所有事务块内的命令exec
discard取消事务,放弃执行事务块内的所有命令。discard
watch key…监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。watch a b
unwatch取消 WATCH 命令对所有 key 的监视。unwatch
持久化相关命令
命令作用举例
save将当前 Redis 实例的所有数据快照(snapshot)以 RDB 文件的形式保存到硬盘。save
bgsave在后台异步(Asynchronously)保存当前数据库的数据到磁盘。exec
bgrewriteaof执行一个 AOF文件 重写操作。bgrewriteaof
lastsave返回最近一次 Redis 成功将数据保存到磁盘上的时间lastsave
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值