redis的命令使用
大部分截图来自官网 参考官网
redis中文官网链接
keys 命令组
- keys 查找所有符合给定模式pattern(正则表达式)的 key 。
支持的正则表达模式:
h?llo 匹配 hello, hallo 和 hxllo
h*llo 匹配 hllo 和 heeeello
h[ae]llo 匹配 hello 和 hallo, 但是不匹配 hillo
h[^e]llo 匹配 hallo, hbllo, … 但是不匹配 hello
h[a-b]llo 匹配 hallo 和 hbllo
示例

- del 删除key
127.0.0.1:6379> set key1 value1
OK
127.0.0.1:6379> set key2 value2
OK
127.0.0.1:6379> keys *
1) "key2"
2) "key1"
示例

-
exists
存在返回1 不存在返回0


-
expire 设置过期时间

-
persist 删除过期时间

-
ttl 查看key的剩余时间

-
move 移动key 到db

-
rename 重命名key

-
scan
迭代当前db中的key
返回的第二个元素是一个数组

-
sort 排序
返回或存储key的list、 set 或sorted set 中的元素。默认是按照数值类型排序的,并且按照两个元素的双精度浮点数类型值进行比较

-
type
查看key的类型

- wait

strings (字符串)
-
set

set c d ex px 可添加key的过期时间

-
get

-
append
如果 key 已经存在,并且值为字符串,那么这个命令会把 value 追加到原来值(value)的结尾。 如果 key 不存在,那么它将首先创建一个空字符串的key,再执行追加操作,这种情况 APPEND 将类似于 SET 操作。

-
decr 自减1

-decrby
decrby a 5 a自减5

-
getrange 字符串切片

- getset
GETSET可以和INCR一起使用实现支持重置的计数功能。举个例子:每当有事件发生的时候,一段程序都会调用INCR给key mycounter加1,但是有时我们需要获取计数器的值,并且自动将其重置为0。这可以通过GETSET mycounter “0”来实现:

- incr

- incrby

- incrbyflota

-
mget
获取多个value

-
mset
设置多个value

-
msetnx
msetnx 是原子的


-
setrange
这个命令的作用是覆盖key对应的string的一部分,从指定的offset处开始,覆盖value的长度。如果offset比当前key对应string还要长,那这个string后面就补0以达到offset。

- strlen
返回字符串的长度


list 数组(列表)
- blpop
从left 弹出元素如果为list为空则阻塞

- brpop
和 blpop 类似

- lindex 获取指定下标元素

- linsert 从左边插入一个元素

- llen 获取list的长度

-
lpop
弹出左边的第一个元素 -
rpop
弹出右边第一个元素

-
lpush 向一list中的左边插入元素,存在则继续插入,不存在则创建插入

- lrange 获取指定范围内下标的元素

- lrem 删除list中的元素


- lset 修改指定下标的元素

- ltrim 保留指定范围下标的元素

- rpoplpush
RPOPLPUSH mylist myotherlist
弹出 mylist中的元素 insert into myotherlist 中

哈希
- hdel 从哈希集中移除指定域

-
hexists 判断指定的field 是否存在

-
hget 从哈希集中获取指定field关联的value

- hgetall 获取哈希集中的 field和value

- hincrby 自增

-
hkeys 获取哈希集中的所有 field


-
hmget 获取多个field 的value

-
hscan 迭代

-
hstrlen
获取指定 field 的value长度

-
hvals
获取哈希集中所有 field 的value


set 集合
集合是不可重复的
- sadd

- scard 返回集合数量

- sdiff 返回差集

- sinter 返回交集

- sismember 查看成员是否在集合中
1 在
0 不在

- smember 查看集合中的所有元素

- smove 移动一个成员到另一个集合

- spop 删除集合中的一个元素

- srem 删除集合中的指定元素

有序集合 sorted set
- zadd
参数
zadd 集合名字 分数score value

- zcard 返回有序集合的元素个数


- zrange 获取指定范围的下标元素

根据分数排序

- zpopmax
删除分数最大的

- zpopmin
删除分数最小的

- zrangebyscore
获取指定范围分数的 value

- zrank 返回指定元素在 zset 中的排名

- zrem 删除指定元素

-
zrevrange
按照score 的大小 降序排列

-
zrevrank

- zscore 返回指定元素的 分数

connection 命令组
- echo

- ping

- select 选择db
db 数量可以再配置文件中修改

transaction 事务
-
multi
事务的开始 -
exec
执行 事务中的 redis 命令 -
watch
监听一个key
如果该 key的value 变化了 则事务终止
- discard
放弃事务
pub/sub 发布订阅
- publish 发布消息
格式
publish channel message - subscirbe 定义频道
格式
subscribe channel

- psubscrive news.*
模式订阅
监听 news. 开头的频道消息

server 命令组
-
bgsave
将db数据保存到磁盘 -
client kill
关闭一个链接
CLIENT KILL addr:port
-
client list

-
dbsize

-
flushall
清空所有db的key -
flushdb
清空当前db 的key -
info
查看当前redis服务的信息 主从,集群 哨兵等
-
lastsave
上次db保存的时间戳 -
role
返回redis 当前的角色 -
save
持久化
SAVE 命令执行一个同步操作,以RDB文件的方式保存所有数据的快照 很少在生产环境直接使用SAVE 命令,因为它会阻塞所有的客户端的请求,可以使用BGSAVE 命令代替. 如果在BGSAVE命令的保存数据的子进程发生错误的时,用 SAVE命令保存最新的数据是最后的手段,
-
shutdown
关闭当前客户端的链接 -
slaveof
给当前的服务器指定一个master,当前服务器成为master的slave
对一个从属服务器执行命令 SLAVEOF NO ONE 将使得这个从属服务器关闭复制功能,并从从属服务器转变回主服务器,原来同步所得的数据集不会被丢弃。 -
slowlog get

本文全面介绍了Redis的各类命令,包括keys、del、exists、expire、ttl、move、rename、scan、sort、type、wait等基本操作,以及strings、list、hash、set、sortedset等数据类型的特定命令。此外,还涵盖了connection、transaction、pub/sub、server和cluster等高级功能的使用方法。
311

被折叠的 条评论
为什么被折叠?



