相关特性:
- 多数据库
- Redis事务
多数据库:
一个Redis实例包含多个数据库(0~15共16个数据库),客户端默认连接0号数据库。
切换连接的数据库
select 0~15
将key从0号数据库移动到1号数据库
move key 1
Redis事务
在事务中,所有的命令都会被串行化顺序执行。在事务执行期间,Redis不会再为其他的客户端提供任何的服务,从而保证事务中所有的命令都被原子化执行。
和关系型数据库中的事务相比,Redis中如果某个命令执行失败了,其他命令还会被执行。
multi开启事务,exec提交操作,discard回滚操作。
在事务开启之前,如果客户端和服务器之间出现通讯故障并导致网络断开,那么它所执行的这些语句都不会被服务器所执行。如果网络中断事件发生在客户端执行它之后的,那么这个事务中的所有命令都会被服务器执行。
multi
相当于开启事务,它后边执行的命令都会存到命令队列中,直到执行exec。
exec
将命令队列中的命令原子化执行,相当于关系型数据库中的commit。
discard
相当于关系型数据库中的rollback。