首页 > 代码库 > Redis 小白指南(三)- 事务、Watch 命令、过期、消息通知、管道、优化内存空间

Redis 小白指南(三)- 事务、Watch 命令、过期、消息通知、管道、优化内存空间

Redis 小白指南(三)- 事务、Watch 命令、过期、消息通知、管道、优化内存空间

简介

 

目录

  • 事务
  • Watch 命令
  • 过期时间
  • 排序
  • 消息通知
  • 管道
  • 优化内存空间

 

事务

  事务是一组命令的集合,事务和命令一样都是 Redis 的最小执行单位。即一个事务中的命令,要么都执行,要么都不执行。可以思考关系型数据库中的事务特性 ACID:

    (1)原子性(Atomicity):在事务结束时,其中包含的更新处理要么全部执行,要么完全不执行。

    (2)一致性(Consistency):事务中包含的处理,要满足数据库提前设置的约束,也称完整性。

    (3)隔离性(lsolation):保证不同事务之前互不干扰的特性。

    (4)持久性(Durability):事务一旦结束,DBMS 会保证该时点的数据状态得以保存的特性,也称耐久性。

  Redis 可以保证一个事务中的命令依次执行而不会被其它命令插入。如:Client A 需要执行多条指令,同时 Client B 也执行多条指令,因为网络传输或者时间等因素造成指令发送到 Redis 服务器的顺序有先后,使用事务就可以避免这种情况。

  遗憾的是,Redis 不支持回滚。

 

Watch 命令

  Watch 命令可以监控一个或多个键,一旦其中有一个键被修改(或删除),之后的事务就不会再执行。

 

过期时间

  应用场景:限时优惠活动、缓存、学校成绩排名定期刷新。

  设置过期时间意味着过一段时间就会删除 redis 中指定的数据。

  命令:EXPIRE key seconds  //seconds 参数表示键的过期时间,单位是秒

  【备注】如果使用 WATCH 命令监测了一个拥有过期时间的键,过期后自动删除不属于 WATCH 命令监测值改变的范围之内。

 

排序

   //TODO

 

消息通知

  就是常说的消息队列,一边是生产者(producer),一边是消费者(consumer)。

  特点:

    松耦合:开发团队可以分别使用不同的开发语言,双方约定好数据的格式即可。

    易于扩展:消费者可以有多个,部署在多态服务器上,轻松减轻单台服务器的压力。

技术分享

 

管道

技术分享

 

优化内存空间

  虽然在现在这个年代,内存条的价格已经非常便宜,但对于硬盘来说,价格依然非常高昂,进行内存空间成本的控制和资源的有效利用也是一个迫切的主题。

  1.精简键名和键值。不过需要自己把握精简的尺度,因为要基于可读性的基础上进行精简,过于精简不易于维护也容易造成命名冲突。

  2.指定合适的编码格式。

  3.选择合适的数据类型进行存储。

  4.定时清理(删除)无效的缓存数据,或者设置自动过期时间。

  5.配置 Redis 可用的最大空间大小,保证程序的稳定利用。

 

系列

  《Redis 小白指南》(一)

  《Redis 小白指南》(二)

  《Redis 小白指南(三)- 事务、Watch 命令、过期、消息通知、管道、优化内存空间》

 

 


【博主】反骨仔

【原文】http://www.cnblogs.com/liqingwen/p/6920680.html 

【参考】《Redis 入门指南》

Redis 小白指南(三)- 事务、Watch 命令、过期、消息通知、管道、优化内存空间