Redis Keys操作
1 | keys * #查询所有keys,*,?,[]都是通配符,*匹配任意多个字符,?匹配一个字符,[]匹配括号内某一个字符 |
Redis特性
多数据库
一个Redis实例可以包含多个数据库,客户端可以指定连接哪个数据库。一个redis实例最多可以提供16个数据库,下标从0到15,客户端默认连接0号数据库。
- 选择数据库
1 | select [number] #选择数据库 |
- 将数据库中的key移动到另一个数据库
1 | move [key] [number] #将当前数据库中的key移动到number号数据库中 |
Redis事务
redis数据库的事务命令主要有multi
、exec
、discard
。其中multi
是开启事务的命令,开启后输入的操作都将记录到事务队列,等到提交时才会执行。exec
是执行事务的命令,discard
是清除事务队列中的操作的命令。在一个客户端事务执行过程中不会接受另一个客户端发出的请求,事务中的命令要么全部执行,要么全不执行。
Redis持久化
由于redis的所有数据都存储在内存中,为了保证重启之后数据不丢失,就需要将数据从内存中同步到硬盘,这个过程就叫持久化。redis的持久化主要有RDB方式和AOF方式,可以选择其中一种或两种作为持久化方式。他们的详细介绍点击这里
RDB持久化
redis默认支持的持久化方式,在指定的时间间隔内将数据写入到硬盘中。
配置
在redis.conf配置文件中
1 | save 900 1 #每900秒,当key发生1次变化时,就会持久化一次 |
AOF持久化
这种机制以日志的方式将执行的每一步操作都记录在硬盘中,在redis启动时,通过这些日志重新构建数据库。
配置
在redis.conf配置文件中
1 | appendonly no #没有打开aof方式,如果使用应改为yes |
当然可以通过配置来禁用持久化功能,通常将redis作为缓存时使用;也可以同时使用RDB和AOF方式。