← 返回首页
Redis基础命令
发表时间:2023-11-07 13:57:27
Redis基础命令

Redis基础命令

1.Redis基础命令

常用的基础命令如下:

2.基本命令案例

#获得符合规则的键keys

[root@master src]# ./redis-cli -a abc12345
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set city beijing
OK
127.0.0.1:6379> keys *
1) "city"

//支持正则表达式的。*表示0个或者多个,+表示1个或者多个
127.0.0.1:6379> keys c*
1) "city"
127.0.0.1:6379> keys c+
(empty list or set)

/*
注意:在生产环境下建议禁用keys命令,因为这个命令会查询过滤redis中的所有数据,可能会造成服务阻塞,影响redis执行效率。如果有类似的查询需求建议使用scan命令。

Scan命令用于迭代当前数据库中的key集合,它支持增量式迭代,每次执行只会返回少量元素,所以它可以用于生产环境,而不会出现像keys 命令那样可能会阻塞服务器的问题。

SCAN命令是一个基于游标的迭代器。这意味着命令每次被调用都需要使用上一次调用返回的游标作为该次调用的游标参数,以此来延续之前的迭代过程,当SCAN命令的游标参数被设置为 0 时, 服务器将开始一次新的迭代, 而当服务器向用户返回值为 0 的游标时, 表示迭代已结束。
*/

#为了演示scan命令,我们向redis中初始化一批数据。

127.0.0.1:6379> set a1 1
OK
127.0.0.1:6379> set a2 1
OK
127.0.0.1:6379> set a3 1
OK
127.0.0.1:6379> set a4 1
OK
127.0.0.1:6379> set a5 1
OK
127.0.0.1:6379> set a6 1
OK
127.0.0.1:6379> set a7 1
OK
127.0.0.1:6379> set a8 1
OK
127.0.0.1:6379> set a9 1
OK
127.0.0.1:6379> set a10 1
OK

#使用scan迭代数据,后面游标参数指定为0,表示从头开始迭代key
127.0.0.1:6379> scan 0
1) "3"
2)  1) "a1"
    2) "a2"
    3) "a9"
    4) "a3"
    5) "city"
    6) "a8"
    7) "a5"
    8) "a6"
    9) "a7"
   10) "a10"

/*
SCAN 命令的返回值是一个包含两个元素的数组,
第一个元素是用于进行下一次迭代的新游标,
第二个元素则是一个数组, 这个数组中包含了所有被迭代出来的元素。

默认情况下scan返回10条数据
*/

127.0.0.1:6379> scan 3
1) "0"
2) 1) "a4"

#注意,游标的值并不等于返回的数据量。

#如果想要在迭代key的时候对key进行过滤,可以在scan后面指定match参数,match后面可以指定正则表达式。

127.0.0.1:6379> scan 0 match a[1-5] count 10
1) "3"
2) 1) "a1"
   2) "a2"
   3) "a3"
   4) "a5"

#此时实际返回的key的数量是4个,但是游标还是3,相当于还是迭代了10条数据,只不过不满足条件的没有返回而已。a4之所以没有迭代出来,是因为a2元素在3这个游标集合里面。

#判断键是否存在:exists

127.0.0.1:6379> exists city
(integer) 1
127.0.0.1:6379> exists username
(integer) 0

#删除键:del
127.0.0.1:6379> del city
(integer) 1

#注意:del也支持一次删除多个key
127.0.0.1:6379> del a1 a2
(integer) 2

#获得键值的类型:type
127.0.0.1:6379> set score 100
OK
127.0.0.1:6379> type score
string

#返回值可能是这五种类型(string,hash,list,set,zset)

#帮助命令:help

127.0.0.1:6379> help set

  SET key value [expiration EX seconds|PX milliseconds] [NX|XX]
  summary: Set the string value of a key
  since: 1.0.0
  group: string

#退出客户端:quit/exit

127.0.0.1:6379> quit

注意:Redis的命令不区分大小写,但是key的名称是区分大小写的!