redis–03–操作–通用key
1、set key value
- 设置key,
- 默认生命周期永久有效
127.0.0.1:6379> set username lihua
OK
127.0.0.1:6379> set userid 1101
OK
127.0.0.1:6379> set k1 v1
OK
127.0.0.1:6379> set k2 v2
OK
127.0.0.1:6379>
2、get key
获取key对应的value
127.0.0.1:6379> get userid
"1101"
127.0.0.1:6379>
3、模糊查询key
- *: 通配任意多个任意字符
- ?: 通配单个任意字符
- []: 通配括号内的某1个字符
3.1、获取所有key
127.0.0.1:6379> keys *
1) "username"
2) "k1"
3) "k2"
4) "userid"
127.0.0.1:6379>
3.2、获取 第3个字母是e,第4个字母是r的所有key
127.0.0.1:6379> keys ??er*
1) "username"
2) "userid"
127.0.0.1:6379>
3.3、获取 us 开头,第3个字母是abcde中的任一一个,且以me结尾的key
127.0.0.1:6379> keys us[abcde]*me
1) "username"
127.0.0.1:6379>
4、randomkey
返回随机key
127.0.0.1:6379> randomkey
"username"
127.0.0.1:6379> randomkey
"k1"
127.0.0.1:6379> randomkey
"k2"
127.0.0.1:6379>
5、exists key
- 判断key是否存在
- 存在:返回1
- 不存在:返回0
127.0.0.1:6379> exists userid
(integer) 1
127.0.0.1:6379> exists 1111
(integer) 0
127.0.0.1:6379>
6、type key
返回key存储的值的类型
127.0.0.1:6379> set userid 1101
OK
127.0.0.1:6379> type userid
string
127.0.0.1:6379>
7、ttl key
- 查询key的生命周期,返回秒数
- 返回-1
- 已过期的key,
- 永久有效的key
- 返回-2
- 不存在的key
127.0.0.1:6379> ttl userid
(integer) -1
127.0.0.1:6379> ttl userid222
(integer) -2
127.0.0.1:6379> set k3 v3 ex 90
OK
127.0.0.1:6379> ttl k3
(integer) 86
127.0.0.1:6379>
8、expire key 整型值
- 设置key的生命周期
- 以秒为单位
- 成功返回1,失败返回0(或者键不存在)
127.0.0.1:6379> expire userid 40
(integer) 1
127.0.0.1:6379> ttl userid
(integer) 38
127.0.0.1:6379> ttl userid
(integer) 36
9、pexpire key
- 设置key的生命周期
- 以毫秒为单位
- 成功返回1,失败返回0(或者键不存在)
127.0.0.1:6379> pexpire userid 50000
(integer) 1
127.0.0.1:6379> ttl userid
(integer) 44
10、pttl key
- 返回生命周期
- 单位毫秒
127.0.0.1:6379> pexpire userid 50000
(integer) 1
127.0.0.1:6379> pttl userid
(integer) 40136
11、persist key
- 设置key永久有效
- 成功返回1
- 失败0(键不存在或者键本来就是永久有效的)
- 使用set命令或者getset命令为键赋值,也会让键永久有效
127.0.0.1:6379> persist userid
(integer) 1
127.0.0.1:6379> ttl userid
(integer) -1
127.0.0.1:6379>
12、select n
- 选择第n个数据库
- 一个redis进程,默认打开16个数据库,从0到15编号,可以在配置文件里面修改
- 默认我们使用0号数据库。
127.0.0.1:6379> select 0
OK
127.0.0.1:6379> keys *
1) "username"
2) "k1"
3) "userid"
4) "k2"
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> keys *
(empty array)
127.0.0.1:6379[1]>
13、del key1 key2 … Keyn
- 删除1个或多个键
- 返回真正删除的key的数量,不存在的key忽略掉,
127.0.0.1:6379> keys *
1) "username"
2) "k1"
3) "userid"
4) "k2"
127.0.0.1:6379> del k1 k2 k3
(integer) 2
127.0.0.1:6379>
14、rename key newkey
- 重命名key
- 不能命名不存在的key
- 如果newkey已存在,则newkey的原值被key覆盖
127.0.0.1:6379> keys *
1) "k1"
2) "k2"
127.0.0.1:6379> rename k3 k4
(error) ERR no such key
127.0.0.1:6379> rename k1 k11
OK
127.0.0.1:6379> get k11
"v1"
127.0.0.1:6379>
15、renamenx key newkey
- 把key改名为newkey
- 返回:
- newkey不存在时: 修改名字,返回1;
- newkey存在时: 不修改。返回0
- 注: nx= not exists
127.0.0.1:6379> keys *
1) "k1"
2) "k2"
127.0.0.1:6379> renamenx k1 k2
(integer) 0
127.0.0.1:6379> renamenx k1 k3
(integer) 1
127.0.0.1:6379> keys *
1) "k3"
2) "k2"
127.0.0.1:6379>
16、move key n
移动key到n号数据库
# 0号数据库
127.0.0.1:6379> keys *
1) "k3"
2) "k2"
# 移动k2到1号数据库
127.0.0.1:6379> move k2 1
(integer) 1
127.0.0.1:6379> SELECT 1
OK
127.0.0.1:6379[1]> keys *
1) "k2"
127.0.0.1:6379[1]>
17、unlink key [key …]
- 根据value选择非阻塞删除
- 仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作。
127.0.0.1:6379> keys *
1) "k3"
2) "k1"
3) "k2"
127.0.0.1:6379> unlink k1 k2
(integer) 2
127.0.0.1:6379> keys *
1) "k3"
127.0.0.1:6379>