分类: SQLite/嵌入式数据库
2012-05-20 19:56:35
Redis提供了丰富的命令(command)对数据库和各种数据类型进行操作,这些command可以在Linux终端使用。在编程时,比如各类语言包,这些命令都有对应的方法。下面将Redis提供的命令做一总结。
返回满足给定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
确认一个key是否存在
redis 127.0.0.1:6379> exists HongWan (integer) 0 redis 127.0.0.1:6379> exists age (integer) 1 redis 127.0.0.1:6379> |
从结果来数据库中不存在HongWan这个key,但是age这个key是存在的
删除一个key
redis 127.0.0.1:6379> del age (integer) 1 redis 127.0.0.1:6379> exists age (integer) 0 redis 127.0.0.1:6379> |
从结果来数据库中不存在HongWan这个key,但是age这个key是存在的
设置一个key的过期时间(单位:秒)
redis 127.0.0.1:6379> expire addr 10 (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说明此值已过期
将当前数据库中的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 (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,说明我们转移成功了
移除给定key的过期时间
redis 127.0.0.1:6379[1]> expire age 300 (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,成功设置为过期
随机返回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的规则是随机的
重命名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了
返回值的类型
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> |
这个方法可以非常简单的判断出值的类型