Redis常用命令

来源:互联网 发布:知乎专栏好申请吗 编辑:程序博客网 时间:2024/04/30 11:47

键值相关命令

  1、keys

  返回满足给定pattern的所有key:

  redis 127.0.0.1:6379> keys *

  
1"myzset2"

  
2"myzset3"

  
3"mylist"

  
4"myset2"

  
5"myset3"

  
6"myset4"

  
7"k_zs_1"

  
8"myset5"

  
9"myset6"

  
10"myset7"

  
11"myhash"

  
12"myzset"

  
13"age"

  
14"myset"

  
15"mylist5"

  
16"mylist6"

  
17"mylist7"

  
18"mylist8"

  用表达式*,代表取出所有的key:

  redis 127.0.0.1:6379> keys mylist*

  
1"mylist"

  
2"mylist5"

  
3"mylist6"

  
4"mylist7"

  
5"mylist8"

  redis 
127.0.0.1:6379>

  用表达式mylist*,代表取出所有以mylist开头的key。

  2、exists

  确认一个key是否存在:

  redis 127.0.0.1:6379> exists HongWan

  (
integer0

  redis 
127.0.0.1:6379> exists age

  (
integer1

  redis 
127.0.0.1:6379>

  从结果来数据库中不存在HongWan这个key,但是age这个key是存在的。

  3、del

  删除一个key:

  redis 127.0.0.1:6379> del age

  (
integer1

  redis 
127.0.0.1:6379> exists age

  (
integer0

  redis 
127.0.0.1:6379>

  从结果来数据库中不存在HongWan这个key,但是age这个key是存在的。

  4、expire

  设置一个key的过期时间(单位:秒):

  redis 127.0.0.1:6379> expire addr 10

  (
integer1

  redis 
127.0.0.1:6379> ttl addr

  (
integer8

  redis 
127.0.0.1:6379> ttl addr

  (
integer1

  redis 
127.0.0.1:6379> ttl addr

  (
integer-1

  redis 
127.0.0.1:6379>

  在本例中,我们设置addr这个key的过期时间是10秒,然后我们不断的用ttl来获取这个key的有效时长,直至为-1说明此值已过期。


  5、move

  将当前数据库中的key转移到其它数据库中:

  redis 127.0.0.1:6379> select 0

  OK

  redis 
127.0.0.1:6379> set age 30

  OK

  redis 
127.0.0.1:6379> get age

  
"30"

  redis 
127.0.0.1:6379> move age 1

  (
integer1

  redis 
127.0.0.1:6379> get age

  (nil)

  redis 
127.0.0.1:6379> select 1

  OK

  redis 
127.0.0.1:6379[1]> get age

  
"30"

  redis 
127.0.0.1:6379[1]>

  在本例中,我先显式的选择了数据库0,然后在这个库中设置一个key,接下来我们将这个key从数据库0移到数据库1,之后我们确认在数据库0中无此key了, 但在数据库1中存在这个key,说明我们转移成功了

  6、persist

  移除给定key的过期时间:

  redis 127.0.0.1:6379[1]> expire age 300

  (
integer1

  redis 
127.0.0.1:6379[1]> ttl age

  (
integer294

  redis 
127.0.0.1:6379[1]> persist age

  (
integer1

  redis 
127.0.0.1:6379[1]> ttl age

  (
integer-1

  redis 
127.0.0.1:6379[1]>

  在这个例子中,我们手动的将未到过期时间的key,成功设置为过期。

  7、randomkey

  随机返回key空间的一个key:

  redis 127.0.0.1:6379> randomkey

  
"mylist7"

  redis 
127.0.0.1:6379> randomkey

  
"mylist5"

  redis 
127.0.0.1:6379>

  通过结果可以看到取key的规则是随机的。

  8、rename

  重命名key:

  redis 127.0.0.1:6379[1]> keys *

  
1"age"

  redis 
127.0.0.1:6379[1]> rename age age_new

  OK

  redis 
127.0.0.1:6379[1]> keys *

  
1"age_new"

  redis 
127.0.0.1:6379[1]>

  age成功的被我们改名为age_new了。

  9、type

  返回值的类型:

  redis 127.0.0.1:6379> type addr

  
string

  redis 
127.0.0.1:6379> type myzset2

  zset

  redis 
127.0.0.1:6379> type mylist

  list

  redis 
127.0.0.1:6379>

  这个方法可以非常简单的判断出值的类型。

服务器相关命令

1、ping

  测试连接是否存活:

  redis 127.0.0.1:6379> ping

  PONG

  
//执行下面命令之前,我们停止redis服务器

  redis 
127.0.0.1:6379> ping

  Could 
not connect to Redis at 127.0.0.1:6379: Connection refused

  
//执行下面命令之前,我们启动redis服务器

  
not connected> ping

  PONG

  redis 
127.0.0.1:6379>

  第一个ping时,说明此连接正常;

  第二个ping之前,我们将redis服务器停止,那么ping是失败的;

  第三个ping之前,我们将redis服务器启动,那么ping是成功的。

  2、echo

  在命令行打印一些内容:

  redis 127.0.0.1:6379> echo HongWan

  
"HongWan"

  redis 
127.0.0.1:6379>

  3、select

  选择数据库。Redis数据库编号从0~15,我们可以选择任意一个数据库来进行数据的存取。

  redis 127.0.0.1:6379> select 1

  OK

  redis 
127.0.0.1:6379[1]> select 16

  (
error) ERR invalid DB index

  redis 
127.0.0.1:6379[16]>

  当选择16时,报错,说明没有编号为16的这个数据库。

  4、quit

  退出连接。

  redis 127.0.0.1:6379> quit

  [root@localhost redis
-2.2.12]#

  5、dbsize

  返回当前数据库中key的数目。

  redis 127.0.0.1:6379> dbsize

  (
integer18

  redis 
127.0.0.1:6379>

  结果说明此库中有18个key。

  6、info

  获取服务器的信息和统计。

  redis 127.0.0.1:6379> info

  redis_version:
2.2.12

  redis_git_sha1:
00000000

  redis_git_dirty:
0

  arch_bits:
32

  multiplexing_api:epoll

  process_id:
28480

  uptime_in_seconds:
2515

  uptime_in_days:
0

  .

  .

  .

  redis 
127.0.0.1:6379>

  此结果用于说明服务器的基础信息,包括版本、启动时间等。

  7、monitor

  实时转储收到的请求。

  redis 127.0.0.1:6379> config get dir

  
1"dir"

  
2"/root/4setup/redis-2.2.12"

  redis 
127.0.0.1:6379>

  从结果可以看出,此服务器目前接受了命令"keys *"和"get addr"。

  8、config get

  获取服务器配置信息。

  redis 127.0.0.1:6379> config get dir

  
1"dir"

  
2"/root/4setup/redis-2.2.12"

  redis 
127.0.0.1:6379>

  本例中我们获取了dir这个参数配置的值,如果想获取全部参数据的配置值也很简单,只需执行”config get *”即可将全部的值都显示出来。

  9、flushdb

  删除当前选择数据库中的所有key。

  redis 127.0.0.1:6379> dbsize

  (
integer18

  redis 
127.0.0.1:6379> flushdb

  OK

  redis 
127.0.0.1:6379> dbsize

  (
integer0

  redis 
127.0.0.1:6379>

  在本例中我们将0号数据库中的key都清除了。

  10、flushall

  删除所有数据库中的所有key。

  redis 127.0.0.1:6379[1]> dbsize

  (
integer1

  redis 
127.0.0.1:6379[1]> select 0

  OK

  redis 
127.0.0.1:6379> flushall

  OK

  redis 
127.0.0.1:6379> select 1

  OK

  redis 
127.0.0.1:6379[1]> dbsize

  (
integer0

  redis 
127.0.0.1:6379[1]>

  在本例中我们先查看了一个1号数据库中有一个key,然后我切换到0号库执行flushall命令,结果1号库中的key也被清除了,说是此命令工作正常。

原创粉丝点击