1. 安全性

2. 主从复制

3. 事务处理

4. 持久化机制

5. 发布订阅消息 : 可以做一个消息系统

6. 虚拟内存的使用

一 . 安全性

  设置客户端连接后进行任何其他指定前需要使用的密码 .

  警告 : 因为redis 速度相当快 , 所以在一台比较好的服务器下 , 一个外部的用户可以在一秒钟进行150k次的密码尝试 , 这意味着你需要指定非常非常强大的密码来防止暴力破解 .

  > requirepass passwordStr  // 在redis.conf 中添加这句话即可.

  设置完成后需要重启服务才能生效 .

  连接redis server时 需要添加密码

  >  redis-cli  -a  password    //  -a 参数代表是密码 .

二 . 主从复制

  1. Master 可以拥有多个slave

  2. 多个slave 可以连接同一个master外 , 还可以连接到其它slave

  3. 主从复制 不会阻塞master , 在同步数据时 , master 可以继续处理client请求.

  4. 提高系统的伸缩性

  主从复制过程 :

    1. slave 与 master 建立连接 , 发送sync同步命令

    2. master 会启动一个后台进程 , 将数据库快照保存到文件中, 同时master主进程会开始收集新的写命令并缓存 .

    3. 后台完成保存后 , 就将此文件发送给slave

    4. slave 将此文件保存到硬盘上 .

  配置主从服务器 :

    配置slave服务器 , 只需要在slave的配置文件中加入以下配置

    slaveof  192.168.1.1  6379   # 指定master的ip 和 端口

    masterauth   pwd  #  这是主机的密码

  查看主从信息 :

    通过命令 info 即可 查看 ,  有一个role 字段 ,如果是从机的话就是slave

事务处理 :

  redis对事务的支持目前还比较简单 , redis 只能保证一个client发起的事务中的命令可以连续的执行 , 而中间不会插入其他client命令 , 当一个client在一个连接中发出multi命令时 , 这个连接会进入一个事务上下文 , 该连接后续的命令不会立即执行 , 而是先放到一个

  multi  :  打开事务 , 类似mysql begin

  exec : 结束事务 , 类似mysql commit

  乐观锁复杂事务控制

  乐观锁 : 大多数是基于数据版本的记录机制实现的 . 即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表添加一个 version 字段来实现读取数据时 , 将此版本号一同读出 , 之后更新时 , 对此版本号加1  , 此时 , 将提交数据的版本号与数据库表对应记录的当前版本号进行比对 , 如果提交的数据版本号大于数据库当前版本号,则予以更新 , 否则认为是过期数据 .

snapshotting 方式

  快照是默认的持久化方式 . 这种方式是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb . 可以通过配置设置自动做快照持久化的方式 , 我们可以配置redis在n秒内如果超过m个key呗修改就自动做快照 .

aof 方式

  由于快照方式是在一定时间间隔做一次的 , 所以如果redis意外down掉的话 , 就会丢失最后一次快照后的所有修改 .

  aof比快照方式有更好的持久化性 , 是由于在使用aof时, redis会将每一个收到的写命令都通过write函数追加到文件中, 当redis重启时会通过重新执行文件中保存的写命令来在内存中重建整个数据库的内容 .

redis高级实用特性的更多相关文章

  1. Redis学习第八课:Redis高级实用特性(二)

    Redis高级实用特性 4.持久化机制 Redis是一个支持持久化的内存数据库,也就是说Redis需要经常将内存中的数据同步到硬盘来保证持久化.Redis支持两种持久化方式:(1).snapshott ...

  2. Redis学习第八课:Redis高级实用特性(一)

    Redis高级实用特性 注:我学习的环境是vmware7.1 + ubantu10.10+ redis 3.0.2 1.安全性 设置客户端连接后进行任何其他指定前需要的密码.因为redis速度相当快, ...

  3. redis高级实用特性(2)

    事务处理: redis对事务的支持目前还是比较简单,redis只能保证一个 client发起事务中的命令可以连续执行,而中间不会插入其他 client的命令,当一个client 在一个连接中发出mul ...

  4. redis高级实用特性(1)

    1.安全性 2.主从复制 3.事务处理 4.持久化机制 5.发布订阅消息 6.虚拟内存的使用 安全性:设置客户端连接后进行任何其他指定前需要使用的密码 警告:因为redis速度相当快,所以在一台比较好 ...

  5. Redis 高级实用特性

    1.安全性 设置客户端连接后进行任何其他操作前先验证密码. 因为Redis速度相当快,所以在一台比较好的服务器下,一个外部用户可以在一秒钟进行150K次的密码尝试,这意味着需要指定一个非常强大的密码来 ...

  6. Redis数据库高级实用特性:持久化机制

    Redis数据库高级实用特性:持久化机制 大型web系统数据缓存设计 Redis高级特性:虚拟内存的使用技巧 Redis高级实用特性:安全性与主从复制 Memcached.Redis OR Tair

  7. NoSQL之Redis高级实用命令详解--安全和主从复制

    Android IOS JavaScript HTML5 CSS jQuery Python PHP NodeJS Java Spring MySQL MongoDB Redis NOSQL Vim ...

  8. redis高级应用特征

    Redis高级应用特性 1.安全性 2.主从复制 3.事务处理 4.持久化机制 5.发布订阅消息 6.虚拟内存的使用 安全性 设置客户端连接后进行任何其他指定前需要使用的密码. 警告:因为redis速 ...

  9. redis 高级特性 不要太好用

    Redis高级特性及应用场景 redis中键的生存时间(expire) redis中可以使用expire命令设置一个键的生存时间,到时间后redis会自动删除它. 过期时间可以设置为秒或者毫秒精度. ...

随机推荐

  1. EJB--事务管理 .

    在我们对事务的基本概念以及出现的问题和隔离级别有进一步的了解之后,接下来看看EJB是如何进行事务管理. 在EJB中有两种使用事务的方式.第一种方式通过容器管理的事务,叫CMT(Container-Ma ...

  2. 值得珍藏的.NET源码,不保存就没机会了

    很早以前,我们通过http://referencesource.microsoft.com/netframework.aspx可以下载到.NET的各版本公开源码,但如今,微软对sscli项目进行了改版 ...

  3. Eclipse groovy in action

    Eclipse :Version: Juno Service Release 2GrEclipse plugins:http://dist.springsource.org/release/GRECL ...

  4. 函数xdes_calc_descriptor_page

    根据偏移量计算出第几个xdes page 0 %16328 = 0 64% 16328 = 64 128 % 16328 = 128 192 % 16328 = 192 /************** ...

  5. Qt之进程间通信(QProcess)

    简述 QProcess可以在应用程序内部与其它进程通信,或启动其它应用程序.与在终端机之类的命令输入窗口上使用名称和参数是一样的,可以使用QProcess提供的函数start()启动进程.可以注册QS ...

  6. sql 游标循环当中重新赋值

    sql 游标循环当中的变量必须重新赋值不然变量的值就是前次循环的值

  7. VS2010安装中遇到的错误

    背景 用win7 64位系统安装VS2010遇到一个错误,网上查了各种资料也没有找到这种解决办法,后来自己找到了解决办法,分享一下,让他人少走一些弯路. 错误信息 安装过程中遇到如下错误: [08/2 ...

  8. Java [Leetcode 290]Word Pattern

    题目描述: Given a pattern and a string str, find if str follows the same pattern. Here follow means a fu ...

  9. 漂亮灵活设置的jquery通知提示插件toastr

    toastr是一款非常棒的基于jquery库的非阻塞通知提示插件,toastr可设定四种通知模式:成功,出错,警告,提示,而提示窗口的位置,动画效果都可以通过能数来设置,在官方站可以通过勾选参数来生成 ...

  10. SQL之50个常用的SQL语句

    50个常用的sql语句 Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,T ...