【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务

redis特性
多数据库
一个redis实例可以包含多个数据库,客户端可以指定连接某个redis实例的哪个数据库,就好比一个mysql数据库中创建了多个数据库,客户端连接时指定连接哪个数据库。
一个redis实例最多可以提供16个数据库,下标从0到15,客户端默认连接第0号数据库,也可以通过select选择连接哪个数据库。
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务
将newkey移植到1号库
move newkey 1
将当前数据库中的key移植到1号数据库中
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务

服务器命令
ping
测试连接是否存活
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务
执行下面命令之前,我们停止redis服务器
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务

echo
在命令行打印一些内容
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务

select
连接数据库,redis数据库编号从0到15,可以选择任意一个数据库来进行数据的存取。
当选择16时,报错,说明没有编号为16的这个数据库
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务

quit/exit
退出连接
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务

dbsize
返回当前数据库中key的数目
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务

info
获取服务器的信息和统计
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务

flushdb
删除当前连接数据库中的所有key
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务

flushall
删除所有数据库中的所有key
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务

消息订阅与发布
subscribe channel
订阅频道
如:subscribe mychat表示订阅mychat这个频道
psubscrible channel*
批量订阅频道
如:psubscrible s*表示订阅以“s”开头的频道
publish channel content
在指定的频道中发布消息
如:publish mychat 'today is a good day!'
步骤一:
在第一个连接中,订阅mychat频道,此时如果没有人发布消息,当前窗口处于等待状态。
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务
步骤二:
在另一个窗口中,在mychat频道中,发布消息
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务
切换到第一个窗口中,查看消息
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务
步骤三:
再到第三个窗口,批量订阅以my开头的所有频
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务
步骤四:
在第二个窗口,分别以"mychat"和"mychat2"发布消息
先使用“mychat”发布消息,第一个窗口和第三个窗口均收到消息
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务
查看第一个窗口
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务
查看第三个窗口
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务
回到第二个窗口分别以“mychat”和“mychat2”发布消息
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务
再次查看第一个窗口
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务
再次查看第三个窗口
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务

redis事务
和众多其它数据库一样,redis作为NoSQL数据库也同样提供了事务机制,在redis中,MULTI/EXEC/DISACRD这三个命令是我们实现事务的基石。
redis事务特征
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务

命令解释
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务

测试
步骤一:
在第一个窗口,设置num,并获得数据
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务
步骤二:
在第二个窗口,num累加1,并获得数据
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务
步骤三:
回到窗口一,获得数据
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务
步骤四:
在第一个窗口,开启事务,多次累加数据
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务
步骤五:
在第二个窗口获取数据
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务
步骤六:
提交事务
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务

回滚
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务

失败命令
【Redis学习】:redis特性——多数据库、服务器命令、消息订阅与发布和事务