redis学习-第二节-部分高级

发布时间:2019-08-06 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了redis学习-第二节-部分高级脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

redis 学习二

time : 20181018;
学习一些Redis的高级应用--Redis 命令行

Redis 发布订阅

1. Redis 发布订阅(pub/sub)是一种消息通信模式:发送者发送消息,订阅者(sub)接受消息
2. Redis 可以订阅任意数量的频道
3. 我们创建了订阅频道 : redisChat
    subscribe redisChat ps : 不要关闭
4. 我们进行消息的发布 : 重新打开一个redis-cli
    PUBLISH redisChat "woami"

Redis 事务

redis事务是一次可以执行多个命令,并且带有以下两个保证 : 
    1. 批量操作在执行 EXEC 命令前是放到队列缓存中的
    2. 收到 EXEC 命令后,事务开始执行,事务中的任何命令执行失败,其余命令还会执行
    3. 在事务执行过程中,其他客户端提交的请求不会插入到事务执行序列中
一个事务从开始执行需要经历三个阶段 : 
    1. 开始事务
    2. 命令入列
    3. 执行事务
实例 : 先以 MULTI 开始一个事务, 然后将多个命令入队到事务中, 最后由 EXEC 命令触发事务, 一并执行事务中的所有命令:
    redis 127.0.0.1:6379> MULTI
    OK

    redis 127.0.0.1:6379> SET book-name "Mastering C++ in 21 days"
    QUEUED

    redis 127.0.0.1:6379> GET book-name
    QUEUED

    redis 127.0.0.1:6379> SADD tag "C++" "Programming" "Mastering Series"
    QUEUED

    redis 127.0.0.1:6379> SMEMBERS tag
    QUEUED

    redis 127.0.0.1:6379> EXEC
    1) OK
    2) "Mastering C++ in 21 days"
    3) (integer) 3
    4) 1) "Mastering Series"
    2) "C++"
    3) "Programming"
单个 Redis 命令的执行是原子性的,但 Redis 没有在事务上增加任何维持原子性的机制,所以 Redis 事务的执行并不是原子性的。

事务可以理解为一个打包的批量执行脚本,但批量指令并非原子化的操作,中间某条指令的失败不会导致前面已做指令的回滚,也不会造成后续的指令不做。

Redis 数据备份和恢复

1. redis 数据备份
    redis save 命令御用创建当前数据的备份
    语法 : SAVE
    实例 : SAVE : 该命令将在 redis 安装目录中创建dump.rdb文件
2. redis 数据恢复
    如果需要恢复数据,只需要将备份文件(dump.rdb)移动到 redis 安装目录并重启服务即可;
    获取 redis 目录可以使用 config 命令
    config get dir : 获取 redis 目录
3. Bgsave : 创建 redis 备份文件,该命令在后台执行

Redis 性能测试

redis 性能测试是通过同时执行多个命令实现的
语法 : 
    redis-benchmark [option] [option value]
实例 : 同时执行10000个请求
    redis-benchmark -n 10000 -q
    redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 10000 -q
    主机为127.0.0.1,端口号 6379,执行的命令为 set,lpush,请求数为 10000,通过-q 参数让结果只显示每秒执行的请求数

Redis 管道技

1. Redis 管道技术
    redis 是一种基于客户端-服务器模型以及请求/响应协议的TCP服务,这意味着通常情况下一个请求会遵循以下步骤 : 
        1. 客户端向服务器发送一个查询氢气,并监听Socket返回,通常是以阻塞模式,等待服务器端响应
        2. 服务端处理命令,并将结果返回给客户端
    redis 管道技术可以在服务端未响应时,客户端可以继续向服务端发送请求,不并最终一次性读取所有服务端的响应
2. 管道技术的优势 : 
    管道技术最显著的优势是提高了 redis 服务的性能

脚本宝典总结

以上是脚本宝典为你收集整理的redis学习-第二节-部分高级全部内容,希望文章能够帮你解决redis学习-第二节-部分高级所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。