一、简介
Redis提供了丰富的命令对数据库和各种数据类型操作,这些命令可以在Linux终端使用。
二、常用命令讲解
1.keys pattern:返回给定pattern的所有key
127.0.0.1:6379> keys zset*@H_502_12@ 1) "zsetkey"@H_502_12@ 2) "zsetkey1"@H_502_12@ 127.0.0.1:6379> keys set*@H_502_12@ 1) "setkey5"@H_502_12@ 2) "setkey1"@H_502_12@ 3) "setkey3"@H_502_12@ 4) "setkey"@H_502_12@ 5) "setkey2"@H_502_12@ 6) "setkey6"
2.exists key:确认key是否存在。如果存在返回1,如果不存在返回0
127.0.0.1:6379> exists mykey@H_502_12@ (integer) 1@H_502_12@ 127.0.0.1:6379> exists mykey11@H_502_12@ (integer) 0@H_502_12@ 127.0.0.1:6379> keys mykey@H_502_12@ 1) "mykey"@H_502_12@ 127.0.0.1:6379> keys mykey11@H_502_12@ (empty list or set)
3.del key:删除一个键。返回1表示删除成功,返回0表示删除失败
127.0.0.1:6379> del mykey@H_502_12@ (integer) 1@H_502_12@ 127.0.0.1:6379> exists mykey@H_502_12@ (integer) 0
再删除一次
127.0.0.1:6379> del mykey@H_502_12@ (integer) 0
4.expire key:设置一个key的过期时间
127.0.0.1:6379> zrange zsetkey 0 -1 withscores@H_502_12@ 1) "one"@H_502_12@ 2) "1"@H_502_12@ 3) "four"@H_502_12@ 4) "4"
127.0.0.1:6379> ttl zsetkey@H_502_12@ (integer) -1@H_502_12@ 127.0.0.1:6379> expire zsetkey 10@H_502_12@ (integer) 1@H_502_12@ 127.0.0.1:6379> ttl zsetkey@H_502_12@ (integer) 6@H_502_12@ 127.0.0.1:6379> ttl zsetkey@H_502_12@ (integer) 5@H_502_12@ 127.0.0.1:6379> ttl zsetkey@H_502_12@ (integer) 1@H_502_12@ 127.0.0.1:6379> ttl zsetkey@H_502_12@ (integer) -2@H_502_12@ 127.0.0.1:6379> ttl zsetkey@H_502_12@ (integer) -2
127.0.0.1:6379> zrange zsetkey 0 -1 withscores@H_502_12@ (empty list or set)@H_502_12@
-1表示永不过期,-2表示已经过期。我用的时redis2.8.1可能和早期的版本略微有些不同。ttl命令是查看一个键还有多长时间过期。
5.select dbindex:选择dbindex数据库,select 0代表选择当前数据库。数据库一共有16个(0-15个)
127.0.0.1:6379> select 0@H_502_12@ OK@H_502_12@ 127.0.0.1:6379> select 1@H_502_12@ OK@H_502_12@ 127.0.0.1:6379[1]> select 2@H_502_12@ OK@H_502_12@ 127.0.0.1:6379[2]> select 3@H_502_12@ OK
6.move key dbindex:将key从当前数据库移动到dbindex数据库。进入客户端的时候默认进入的是0数据库
127.0.0.1:6379[3]> select 0@H_502_12@ OK@H_502_12@ 127.0.0.1:6379> set age 30@H_502_12@ OK@H_502_12@ 127.0.0.1:6379> get age@H_502_12@ "30"@H_502_12@ 127.0.0.1:6379> move age 1@H_502_12@ (integer) 1@H_502_12@ 127.0.0.1:6379> get age@H_502_12@ (nil)@H_502_12@ 127.0.0.1:6379> select 1@H_502_12@ OK@H_502_12@ 127.0.0.1:6379[1]> get age@H_502_12@ "30"
7.persist key:移除给定key的过期时间
127.0.0.1:6379> ttl age@H_502_12@ (integer) -1@H_502_12@ 127.0.0.1:6379> expire age 200@H_502_12@ (integer) 1@H_502_12@ 127.0.0.1:6379> ttl age@H_502_12@ (integer) 198@H_502_12@ 127.0.0.1:6379> ttl age@H_502_12@ (integer) 194@H_502_12@ 127.0.0.1:6379> persist age@H_502_12@ (integer) 1@H_502_12@ 127.0.0.1:6379> ttl age@H_502_12@ (integer) -1
127.0.0.1:6379> select 0@H_502_12@ OK@H_502_12@
127.0.0.1:6379> randomkey@H_502_12@ "setkey5"@H_502_12@ 127.0.0.1:6379> randomkey@H_502_12@ "mylist"
9.rename key new_key:把key重命名成new_key
127.0.0.1:6379> get age@H_502_12@ "30"@H_502_12@ 127.0.0.1:6379> rename age new_age@H_502_12@ OK@H_502_12@ 127.0.0.1:6379> get age@H_502_12@ (nil)@H_502_12@ 127.0.0.1:6379> get new_age@H_502_12@ "30"
10.type key:返回key键对应值的数据类型
127.0.0.1:6379> type age@H_502_12@ none@H_502_12@
127.0.0.1:6379> type new_age string 127.0.0.1:6379> type listkey1 list 127.0.0.1:6379> keys hash* 1) "hashkey2" 2) "hashkey1" 127.0.0.1:6379> type hashkey1 hash 127.0.0.1:6379> type setkey1 set 127.0.0.1:6379> type zsetkey1 zset