点开,我们开redis的数据结构和命令
通用的键值操作:
查看当前redis中有哪些key:
-
127.0.0.1:6379> keys *
-
1) "age"
-
2) "site"
*通配多个字符
?通配一个字符
[]通配括号内的某个字符
随机返回一个key名:
randomkey
判断key的类型:
-
127.0.0.1:6379> type age
-
string
-
127.0.0.1:6379> type site
-
string
判断key是否存在:
-
127.0.0.1:6379> exists age
-
(integer) 1
-
127.0.0.1:6379> exists aa
-
(integer) 0
删除一个key:
-
127.0.0.1:6379> keys *
-
1) "age"
-
2) "site"
-
127.0.0.1:6379> del site
-
(integer) 1
-
127.0.0.1:6379> keys *
-
1) "age"
更改key名字:
-
127.0.0.1:6379> rename age nianling
-
OK
-
127.0.0.1:6379> keys *
-
1) "nianling"
-
127.0.0.1:6379> get nianling
-
"29"
如果说重命名时,那么原本的key会被覆盖的,那怎么避免这个问题:
-
127.0.0.1:6379> renamenx nianling age
-
(integer) 0
-
127.0.0.1:6379> keys *
-
1) "age"
-
2) "nianling"
move key:
说到move key我们先说下MySQL中有多个database,redis中也有多个database,在redis.conf中database 16,我们也可以指定更改此参数,默认使用的是第0个服务器,如下操作变使用了1号服务器,这个概念是我们要明白的。
-
127.0.0.1:6379> keys *
-
1) "age"
-
2) "nianling"
-
127.0.0.1:6379> select 1
-
OK
-
127.0.0.1:6379[1]> keys *
-
(empty list or set)
下面我们将0号database中的对象move到1号database中
-
127.0.0.1:6379> move age 1
-
(integer) 1
-
127.0.0.1:6379>
-
127.0.0.1:6379> select 1
-
OK
-
127.0.0.1:6379[1]> keys *
-
1) "age"
生命周期:
redis中默认的对象是没有生命周期的,因为redis不像memcached,他要做持久化的。我们也可以设置其生命周期,返回-1说明没生命周期即无限,对于不存在的key返回-2值。
-
127.0.0.1:6379> keys *
-
1) "nianling"
-
127.0.0.1:6379> ttl nianling
-
(integer) -1
-
127.0.0.1:6379> ttl aaa
-
(integer) -2
-
127.0.0.1:6379> expire nianling 50
-
(integer) 1
-
127.0.0.1:6379> ttl nianling
-
(integer) 45
-
127.0.0.1:6379> ttl nianling
-
(integer) 43
-
127.0.0.1:6379> ttl nianling
-
(integer) 42
-
127.0.0.1:6379> get nianling
-
"43"
-
127.0.0.1:6379> ttl nianling
-
(integer) 20
-
127.0.0.1:6379> ttl nianling
-
(integer) -2
-
127.0.0.1:6379> get nianling
-
(nil)
ttl查询生命周期,expire设置生命周期 ,pttl和pexpire用法相同,只不过以毫秒为单位。
将某个key设置持久化:
persist key_name 这样就持久化了。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29990276/viewspace-1774320/
,如需转载,请注明出处,否则将追究法律责任。