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

栏目: 数据库 · 发布时间: 6年前

内容简介: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)。

特点:

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

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

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

管道

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

优化内存空间

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

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

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

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

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

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

系列

《Redis 小白指南》(一)

《Redis 小白指南》(二)

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

【博主】反骨仔

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

【参考】《Redis 入门指南》


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

创业时, 我们在知乎聊什么?

创业时, 我们在知乎聊什么?

知乎 / 中信出版社 / 2014-1 / 42.00元

★前所未有的互联网出版实验,500万知友亲手甄选内容,知乎三年创业问答精华大集结 ★史上最真诚创业书,用互联网思维讲透创业的逻辑 ★在知乎,最强大互联网创业群体真实分享创业路上的荣耀与隐忧 ★从Idea到步入正轨,创业公司如何招人、做技术、卖产品、找融资、建团队、处理法务? 他们在知乎聊创业: 创新工场创始人李开复 天使投资人 徐小平 小米科技创始人 雷军......一起来看看 《创业时, 我们在知乎聊什么?》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码