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. RedHat6配置yum源 (32位)

    由于 redhat的yum在线更新是收费的,如果没有注册的话不能使用, 如果要使用,需将redhat的yum卸载后,重启安装,再配置其他源,以下为详细过程: 1.删除redhat原有的yum rpm ...

  2. Javaweb实现的优优图书商城(含源码)

    原文地址:http://www.cnblogs.com/liaoyu/p/uushop.html 源码地址:https://github.com/liaoyu/uushop 贴出一个大学时做的小项目, ...

  3. 转:Servlet的url匹配以及url-pattern详解

    Servlet是J2EE开发中常用的技术,使用方便,配置简单,老少皆宜.估计大多数朋友都是直接配置用,也没有关心过具体的细节,今天遇到一个问题,上网查了servlet的规范才发现,servlet中的u ...

  4. Intellij IDEA 新建一个EJB工程(三)

    之前都是用IDEA启动JBoss服务器,并在启动的同时将EJB项目部署上去.在构建 artifacts 时遇到很多问题,明明是EJB项目却不能用EJB导出,真是奇怪~~ 后来用Web Applicat ...

  5. 深度卷积神经网络用于图像缩放Image Scaling using Deep Convolutional Neural Networks

    This past summer I interned at Flipboard in Palo Alto, California. I worked on machine learning base ...

  6. Fragment 和 FragmentActivity的使用(二)

      今天继续完成剩下的学习部分,现在项目很多地方使用viewpager来提供滑动,今天记录学习viewpager配合fragment的显示,增加一个CallLogsFragment配合之前SMSLis ...

  7. hdu4576 概率dp n^2的矩阵

    这个题目看网上好多题解都是直接O(n*m)卡过.我是这么做的. 对于m次操作,统计每个w的次数.然后对每个w做矩阵乘法. 这样直接做矩阵乘法是会TLE的. 又由于这里的矩阵很特殊,一次乘法可以降维成O ...

  8. bzoj4011

    好题,首先有一个结论,有向无环图的树形图数目=根节点意外入度之积 现在相当于在原图上加一条边问树形图的数目 考虑多出来不合法的方案,一定是成环且包含新加入的边 对于一条路贡献就是∏d[i] [i∉pa ...

  9. VB获取浏览器版本

    String userAgent; userAgent = Request.UserAgent; ) { // The browser is Microsoft Internet Explorer V ...

  10. windows 下使用 MinGW + msys 编译 ffmpeg

    本文参考了网络上的不少文章,但由于版本环境的问题参考文章并不能直接指导编译,本文吸收多方经验,并在自己多次编译实验的基础上写成,欢迎转载,请注名出处.    FFmpeg是在Linux平台下开发的,但 ...