Redis高级特性的配置及使用(2)

三. 乐观锁:使用watch命令对key监控,如果在watch后,该key发生过改变,则事务将失败(即已过期);可以调用多次watch监控多个key;exec、discard、unwatch都会清除连接中的监控。

例如:上面的age现在是21,先对age进行watch age,此时multi打开队列进行等待,另一方面打开新终端,对age进行set age 30,设置成功后,在第一个终端内执行set age 40,exec执行,提示nil。

Redis高级特性的配置及使用

【Redis持久化】

一. Snapshotting(快照)。

  Redis默认的持久化方式,将内存中的数据以快照的方式写入到二进制文件(dump.rdb)中,通过配置文件可以配置多少秒后有至少多少次修改就进行快照。

  save 900 1     #900秒后有至少1次key的修改就持久化

  save 300 10     #300秒后有至少10次key的修改就持久化

  save 60 10000   #60秒后有至少10000次key的修改就持久化

  

  阻止快照的方式:

  ① 注释掉上面三行

  ② 或 改成save ""。

二. Append Only File(AOF方式)

  Redis默认异步将数据备份到磁盘,这种模式对许多应用足够了,但是如果Redis进程出现问题或断电,将导致最近几分钟的写数据丢失(根据配置文件中的保存时间点)。

  Append Only File(AOF)是提供了更好持久性的可选的持久化模式。例如通过fsync(同步内存中所有已修改的文件数据到储存设备)的方式,Redis可以做到在服务器断电的情况下仅丢失一秒钟的写数据,或者在Redis进程错误的情况下丢失单条写数据。

  AOF和数据库存储可以同时打开,如果在安装Redis时打开支持AOF,那么Redis将会使用AOF。()

  appendonly no            #默认AOF为关闭状态

  appendfilename "appendonly.aof"   #指定写入的文件名  

  调用fsync()告诉操作系统实时将数据写入磁盘而不是写入输出缓存,一些OS可能不会实时刷新清空缓存数据。为此,Redis提供三种不同的模式:

  appendfsync always  #速度慢,但最安全,每次write都异步持久化

  appendfsync everysec #默认选项,每秒一次的异步保存,速度和数据安全的折中方案

  appendfsync no     #速度较快,不执行异步,让系统自动刷新数据

  结论:如果能在考虑到数据丢失的情况下保证运行,可以使用Snapshotting 或者 相反的使用"always"(非常慢但比"everysec"安全一点)。

  打开AOF模式(appendonly yes),etc/ 将新增appendonly.aof文件(存储的是操作内容):

Redis高级特性的配置及使用

Redis高级特性的配置及使用

五. 发布/订阅(pub/sub)

订阅者使用subscribe和psubscribe命令向Redis服务订阅消息,发布者通过publish命令向Redis服务发送信息时,订阅的客户端将收到消息。

如:终端1:subscribe m1

  终端2:subscribe m1 m2

  终端3:publish m1 abc;publish m2 hello;#publish命令返回频道订阅者数量,终端3发布的消息将实时显示到终端1和终端2

Redis高级特性的配置及使用

Redis高级特性的配置及使用

Redis高级特性的配置及使用

Redis高级特性的配置及使用

Redis高级特性的配置及使用

Ubuntu 14.04下Redis安装及简单测试

Redis集群明细文档

Ubuntu 12.10下安装Redis(图文详解)+ Jedis连接Redis

Redis系列-安装部署维护篇

CentOS 6.3安装Redis

Redis安装部署学习笔记

Redis配置文件redis.conf 详解

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/0317810f10d11389ed71d85bb0d004f2.html