数据库操作指令
Redis中库说明
库:database用来存放数据一个基本单元,一个库可以存放key-value键值对redis中每一个都有一个唯一名称|编号,从0开始
默认库的个数:16个库,库的编号:0-15,默认使用的是0号库,注意:库的个数可以在redis.conf中修改
1
2
3
4# Set the number of databases. The default database is DB 0, you can select
# a different one on a per-connection basis using SELECT <dbid> where
# dbid is a number between 0 and 'databases'-1
databases 16
Redis库的操作
切换库指令:
select 库的编号1
2
3
4
5[root@localhost bin]# ./redis-cli -h localhost -p 6379
localhost:6379> select 0
OK
localhost:6379> select 1
OK清除库指令
- 清空当前的库 FLUSHDB
- 清空全部的库 FLUSHALL
客户端显示中文
1
2[root@localhost bin]# ./redis-cli -h localhost -p 6379 --raw
localhost:6379>
操作key相关指令

DEL指令
- 语法 : DEL key [key …]
- 作用 : 删除给定的一个或多个key ,不存在的key 会被忽略
- 可用版本: >= 1.0.0
- 返回值: 被删除key 的数量
1 | localhost:6379> set name zhangsan |
EXISTS指令
- 语法: EXISTS key
- 作用: 检查给定key 是否存在
- 可用版本: >= 1.0.0
- 返回值: 若key 存在,返回1 ,否则返回0
1 | localhost:6379> exists name |
EXPIRE
- 语法: EXPIRE key seconds
- 作用: 为给定key 设置生存时间,当key 过期时(生存时间为0 ),它会被自动删除。
- 可用版本: >= 1.0.0
- 时间复杂度: O(1)
- 返回值:设置成功返回1
1 | localhost:6379> keys * |
KEYS
- 语法 : KEYS pattern
- 作用 : 查找所有符合给定模式pattern 的key 。
- 语法:
KEYS *匹配数据库中所有keyKEYS h?llo匹配hello ,hallo 和hxllo 等KEYS h*llo匹配hllo 和heeeeello 等KEYS h[ae]llo匹配hello 和hallo ,但不匹配hillo 。特殊符号用 “\” 隔开
- 可用版本: >= 1.0.0
- 返回值: 符合给定模式的key 列表。
MOVE
- 语法 : MOVE key db
- 作用 : 将当前数据库的key 移动到给定的数据库db当中
- 可用版本: >= 1.0.0
- 返回值: 移动成功返回1 ,失败则返回0
1 | localhost:6379> select 0 |
PEXPIRE
- 语法 : PEXPIRE key milliseconds
- 作用 : 这个命令和EXPIRE 命令的作用类似,但是它以毫秒为单位设置key 的生存时间,而不像EXPIRE 命令那样,以秒为单位
- 可用版本: >= 2.6.0
- 时间复杂度: O(1)
- 返回值:设置成功,返回1 key 不存在或设置失败,返回0
PEXPIREAT
- 语法 : PEXPIREAT key milliseconds-timestamp
- 作用 : 这个命令和EXPIREAT 命令类似,但它以毫秒为单位设置key 的过期unix 时间戳,而不是像EXPIREAT那样,以秒为单位
- 可用版本: >= 2.6.0
- 返回值:如果生存时间设置成功,返回1 。当key 不存在或没办法设置生存时间时,返回0 。(查看EXPIRE 命令获取更多信息)
TTL
- 语法 : TTL key
- 作用 : 以秒为单位,返回给定key 的剩余生存时间(TTL, time to live)
- 可用版本: >= 1.0.0
- 返回值:
- 当key 不存在时,返回-2
- 当key 存在但没有设置剩余生存时间时,返回-1
- 否则,以秒为单位,返回key 的剩余生存时间
- Note : 在Redis 2.8 以前,当key 不存在,或者key 没有设置剩余生存时间时,命令都返回-1
1 | localhost:6379> keys * |
PTTL
- 语法 : PTTL key
- 作用 : 这个命令类似于TTL 命令,但它以毫秒为单位返回key 的剩余生存时间,而不是像TTL 命令那样,以秒为单位
- 可用版本: >= 2.6.0
- 返回值:
- 当key 不存在时,返回-2
- 当key 存在但没有设置剩余生存时间时,返回-1
- 否则,以毫秒为单位,返回key 的剩余生存时间
- 注意 : 在Redis 2.8 以前,当key 不存在,或者key 没有设置剩余生存时间时,命令都返回-1
RANDOMKEY
- 语法 : RANDOMKEY
- 作用 : 从当前数据库中随机返回(不删除) 一个key
- 可用版本: >= 1.0.0
- 返回值:当数据库不为空时,返回一个key 。当数据库为空时,返回nil
1 | localhost:6379> randomkey |
RENAME
- 语法 : RENAME key newkey
- 作用 : 将key 改名为newkey 。当key 和newkey 相同,或者key 不存在时,返回一个错误。当newkey 已经存在时,RENAME 命令将覆盖旧值
- 可用版本: >= 1.0.0
- 返回值: 改名成功时提示OK ,失败时候返回一个错误
1 | localhost:6379> keys * |
TYPE
- 语法 : TYPE key
- 作用 : 返回key 所储存的值的类型。
- 可用版本: >= 1.0.0
- 返回值:
- none (key 不存在)
- string (字符串)
- list (列表)
- set (集合)
- zset (有序集)
- hash (哈希表)
1 | localhost:6379> type username |