键值相关命令
1、keys
返回满足给定pattern的所有key:
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:
1 ) " mylist "
2 ) " mylist5 "
3 ) " mylist6 "
4 ) " mylist7 "
5 ) " mylist8 "
redis 127.0 . 0.1 : 6379 >
用表达式mylist*,代表取出所有以mylist开头的key。
2、exists
确认一个key是否存在:
( integer ) 0
redis 127.0 . 0.1 : 6379 > exists age
( integer ) 1
redis 127.0 . 0.1 : 6379 >
从结果来数据库中不存在HongWan这个key,但是age这个key是存在的。
3、del
删除一个key:
( integer ) 1
redis 127.0 . 0.1 : 6379 > exists age
( integer ) 0
redis 127.0 . 0.1 : 6379 >
从结果来数据库中不存在HongWan这个key,但是age这个key是存在的。
4、expire
设置一个key的过期时间(单位:秒):
( integer ) 1
redis 127.0 . 0.1 : 6379 > ttl addr
( integer ) 8
redis 127.0 . 0.1 : 6379 > ttl addr
( integer ) 1
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转移到其它数据库中:
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
( integer ) 1
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的过期时间:
( integer ) 1
redis 127.0 . 0.1 : 6379 [ 1 ] > ttl age
( integer ) 294
redis 127.0 . 0.1 : 6379 [ 1 ] > persist age
( integer ) 1
redis 127.0 . 0.1 : 6379 [ 1 ] > ttl age
( integer ) - 1
redis 127.0 . 0.1 : 6379 [ 1 ] >
在这个例子中,我们手动的将未到过期时间的key,成功设置为过期。
7、randomkey
随机返回key空间的一个key:
" mylist7 "
redis 127.0 . 0.1 : 6379 > randomkey
" mylist5 "
redis 127.0 . 0.1 : 6379 >
通过结果可以看到取key的规则是随机的。
8、rename
重命名key:
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
返回值的类型:
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
测试连接是否存活:
第一个ping时,说明此连接正常;
第二个ping之前,我们将redis服务器停止,那么ping是失败的;
第三个ping之前,我们将redis服务器启动,那么ping是成功的。
2、echo
在命令行打印一些内容:
" HongWan "
redis 127.0 . 0.1 : 6379 >
3、select
选择数据库。Redis数据库编号从0~15,我们可以选择任意一个数据库来进行数据的存取。
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
退出连接。
[root@localhost redis - 2.2 . 12 ]#
5、dbsize
返回当前数据库中key的数目。
( integer ) 18
redis 127.0 . 0.1 : 6379 >
结果说明此库中有18个key。
6、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
实时转储收到的请求。
1 ) " dir "
2 ) " /root/4setup/redis-2.2.12 "
redis 127.0 . 0.1 : 6379 >
从结果可以看出,此服务器目前接受了命令"keys *"和"get addr"。
8、config get
获取服务器配置信息。
1 ) " dir "
2 ) " /root/4setup/redis-2.2.12 "
redis 127.0 . 0.1 : 6379 >
本例中我们获取了dir这个参数配置的值,如果想获取全部参数据的配置值也很简单,只需执行”config get *”即可将全部的值都显示出来。
9、flushdb
删除当前选择数据库中的所有key。
( integer ) 18
redis 127.0 . 0.1 : 6379 > flushdb
OK
redis 127.0 . 0.1 : 6379 > dbsize
( integer ) 0
redis 127.0 . 0.1 : 6379 >
在本例中我们将0号数据库中的key都清除了。
10、flushall
删除所有数据库中的所有key。
( integer ) 1
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
( integer ) 0
redis 127.0 . 0.1 : 6379 [ 1 ] >
在本例中我们先查看了一个1号数据库中有一个key,然后我切换到0号库执行flushall命令,结果1号库中的key也被清除了,说是此命令工作正常。