redis学习2

Redis 发布订阅

redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。

redis客户端可以订阅任意数量的频道。当有新消息通过publish命令发送给频道时,这个消息就会被发送给订阅它的三个客户端;

Redis事务

redis事务可以一次执行多个命令。一个事务从开始执行会经历三个阶段:1、开始事务;2、命令入队;3、执行事务

单个redis命令的执行是原子性的,但redis没有在事务上增加任何维持原子性的机制,所以redis事务的执行并不是原子性的。事务可以理解为一个打包的批量执行脚本,但批量指令并非原子化的操作,中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续指令不做。

redis事务命令:

multi----------------------------------------标记一个事务块的开始; (备注:该命令返回ok提示信息,redis不支持事务嵌套,执行多次multi命令和执行一次是相同的效果。嵌套执行multi命令时,redis只是返回错误提示信息。)

discard-------------------------------------取消事务,放弃执行事务块内的所有命令;

exec-----------------------------------------执行所有事务块内的命令;

unwatch------------------------------------取消watch命令对所有key的监视;

watch key [key...]-------------------------监视一个或多个key,如果在事务执行之前这个或这些key被其他命令所改动,那么事务将被打断。

Redis 服务器

redis 服务器命令主要用于管理redis服务

redis服务器相关命令

bgrewriteaof-------------------------------异步执行一个AOF文件重写操作;

bgsave--------------------------------------在后台异步保存当前数据库的数据到磁盘;

client kill[ip:port][id client-id]-------------------关闭客户端连接

client list-------------------------------------------获取连接到服务器的客户端连接列表;

client getname-----------------------------------获取连接的名称;

client pause timeout----------------------------在指定时间内终止运行来自客户端的命令;

command-----------------------------------------获取redis命令总数;

config set parameter value--------------------修改redis配置参数,无需重启;

flushall---------------------------------------------删除所有数据库的所有key;

flushdb--------------------------------------------删除当前数据库的所有key;

现在较多使用redis是为什么?应该他快,那为什么快?

redis是采用C语言编写的,底层代码执行效率高,依赖性低,系统的兼容性好,稳定性高;redis是基于内存的数据库,redis采用key-value方式进行存储,也就是使用的hash结构进行操作,数据的操作时间复杂度是O(1)。

原文地址:https://www.cnblogs.com/zhuzhu1214/p/12420642.html