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 入门指南》

时间: 2024-10-17 20:15:14

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

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

Redis 小白指南(三)- 事务.过期.消息通知.管道和优化内存空间 简介 <Redis 小白指南(一)- 简介.安装.GUI 和 C# 驱动介绍> 讲的是 Redis 的介绍,以及如何在 Windows 上安装并使用,一些 GUI 工具和自己简单封装的 RedisHelper. <Redis 小白指南(二)- 聊聊五大类型:字符串.散列.列表.集合和有序集合>讲的是 Redis 中最核心的内容,最常用的就是和数据类型打交道. 目录 事务 过期时间 消息通知 管道 优化内存空间

Redis 小白指南(二)

Redis 小白指南(二) 引言 目录 基础命令 字符串类型 散列类型 列表类型 集合类型 有序集合类型 基础命令 1.获得符合规则的键名列表 KEYS pattern pattern 支持 glob 风格通配符: 2.判断一个键是否存在 EXISTS key 如果键存在则返回整数类型 1,否则返回 0 3.删除键 DEL key [key ...] 可以删除一个或者多个键,返回值是删除的键的个数 4.获得键值的数据类型 TYPE key 字符串类型 1.介绍 字符串类型是 Redis 中最基本

redis深入学习(三)-----事务、主从复制、jedis

reids事务 概念 可以一次执行多个命令,本质是一组命令的集合.一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞 作用 一个队列中,一次性.顺序性.排他性的执行一系列命令 常用命令 正常操作事务: 放弃事务: 其实redis对于事务是部分支持: 例如incr k1虽然是错误的(类似于java的运行时异常),但是其他几个结果依然可以成功操作. watch监控 悲观锁/乐观锁/CAS(Check And Set) 1.悲观锁 悲观锁(Pessimistic Lock

spring中订阅redis键值过期消息通知

1.首先启用redis通知功能(ubuntu下操作):编辑/etc/redis/redis.conf文件,添加或启用以下内容(过期通知): notify-keyspace-events Ex 或者登陆redis-cli之后,输入以下命令: config set notify-keyspace-events Ex 更多通知详见:http://redis.io/topics/notifications#configuration 2.Java Spring中配置监听 接口类: import java

利用Redis发布订阅完成tomcat集群下的消息通知

博主是刚入职半年的新手,如果有说的不对的地方请各位大佬见谅! 这是博主的第一篇博客,可能排版以及一些描述有不合理的地方还请勿喷,希望大家尽可能的多给我这样的新手一些鼓励让我能在写博客的道路上走下去. 进入正题,首先开发背景 近期公司的一些项目上出现了内存溢出的问题,究其原因是缓存的数据量太大导致jvm内存溢出,产品的架构上比较老所以针对缓存这块,领导叫我去重构移植到Redis中,博主之前并没有学习过Redis以及关于分布式系统的并发问题,所以也是对我的一次挑战,还好没有辜负领导的期望在期望时间之

Redis系列(三)--过期策略

制定Redis过期策略,是整个Redis缓存策略的关键之一,因为内存来说,公司不可能无限大,所以就要对key进行一系列的管控. 文章结构:(1)理解Redis过期设置API(命令与Java描述版本):(2)理解Redis内部的过期策略:(3)对开发需求而言,Redis过期策略的设计实现经验. 本系列文章: (1)Redis系列(一)–安装.helloworld以及读懂配置文件 (2)Redis系列(二)–缓存设计(整表缓存以及排行榜缓存方案实现) 一.理解Redis过期设置API(命令与Java

分布式缓存技术redis学习(三)——redis高级应用(主从、事务与锁、持久化)

  上文<详细讲解redis数据结构(内存模型)以及常用命令>介绍了redis的数据类型以及常用命令,本文我们来学习下redis的一些高级特性.目录如下: 安全性设置 设置客户端操作秘密 客户端授权方式 主从复制 主从复制的特点 主从复制的过程 配置主从服务器 事务与锁 事务开启与取消 乐观锁 持久化机制 RDB方式 AOF方式 发布以及订阅消息   安全性设置 设置客户端操作秘密 redis安装好后,默认情况下登陆客户端和使用命令操作时不需要密码的.某些情况下,为了安全起见,我们可以设置在客

redis学习教程三《发送订阅、事务、连接》

redis学习教程三<发送订阅.事务.连接> 一:发送订阅      Redis发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息.Redis 发布订阅(pub/sub)实现了消息系统,发送者(在redis术语中称为发布者)在接收者(订阅者)接收消息时发送消息.传送消息的链路称为信道. 示例 以下示例说明了发布用户概念的工作原理. 在以下示例中,一个客户端订阅名为"redisChat"的信道. redis 127.0.0.1:6

Redis学习笔记(三)常用命令整理

Redis 常用命令 1.DEL key 删除key2.EXISTS key 检查key是否存在3.KEYS * 查看所有的key4.EXPIRE key seconds 设置key的过期时间5.TTL key 返回key的剩余生存时间6.TYPE key 返回key的类型 String 常用 1.SET key value 设置指定key的值2.GET key 获取指定key的值3.GETRANGE key start end 返回key start到end位置的字符4.STRLEN key