【redis】——高级应用(1)

来源:互联网 发布:淘宝卖家骂人扣几分 编辑:程序博客网 时间:2024/06/18 15:10

开篇

         上篇博客中已经了解到redis的高级应用主要有6个方面,本篇博客简单的介绍一下比较简单的集合高级应用包括:安全性、主从复制、虚拟内存。

正文

一、安全性

         说明:所谓的安全性就是权限的设置,设置客户端连接后进行任何其他操作前需要使用密码。

         配置:只需要修改redis.conf配置文件中的#requirepass foobared就可以完成。如下设置密码为123456

         效果

                  完成后使用命令redis-cli连接客户端进行操作会给出权限不足提示,如下

         解决

                  1、使用auth 授权,返回ok授权成功可进行操作,如下

                  2、连接客户端时使用 redis-cli–a password可直接授权。

 

二、主从复制

         说明:主存复制是当redis搭建集群时为了保证slaveserver和master server的数据一致使用的策略。

         过程

                  1、  slave与master连接,并且向mast发出同步请求命令

                  2、  master另起一个进程将数据库快照保存到文件中,master的主进程于此同时会开始收集新的写命令并                  缓存。

                  3、  后代完成快照文件保存后master将此文件发送给slave

                  4、  Slave将文件保存到自己的硬盘

         配置:

                  在slave server的redis.conf中添加 slaveof的配置,设置master的ip和端口

        

         效果:

                   Slave会和master中的数据保持一致。

 

三、虚拟内存

         说明:redis的虚拟和操作系统的虚拟内存的思想是相同的,就是将暂时不经常访问的数据从内存交互到磁盘中,释放内存空间用来存放经常被使用的数据。

         配置:在redis.conf中添加如下配置,

vm-enabled yes                #开启vm功能

vm-swap-file /tmp/redis.swap    #交互出来的value保存的文件路径

vm-max-memory 1000000       #redis使用的最大内存上限

vm-page-size 32               #每个页面的大小32字节

vm-pages 134217728           #最多使用多少页面

vm-max-thread 4              #用于执行value对象换入的工作的线程数量

 

         效果

                  修改完毕后重启redis会有如下提示

         解决:在配置文件中添加really-use-vmyes,然后重启redis即可。

 

四、持久化机制

         说明:将内存中的数据持久化到物理硬盘的过程

         Redis持久化方式:

                  1、  snapshotting(快照),默认方式

                           说明:将内存中的数据以快照的方式写入到二级制文件中,文件的默认名为dump.rdb

                           配置:使用save配置,可以配置redis在n秒内超过m个key被修改就完成自动做快照

                           不足:快照方式在一定间隔时间进行一次,如果在下一次快照之前redis发生down机,会有部分数                           据丢失。

                  2、  append-only file(aof)

                           说明:redis会将每个收到的写命令都通过write函数追加到文件中,redis重启重新执行文件中保存                           的写命令恢复数据库。

                           不足:os(operationsystem)可能会在内核中缓存write函数做的修改。所以可能不会立即写入磁盘                           导致数据丢失可以通过配置文件强制os写入磁盘的时机,分为三种方式

         配置:

        

总结

                  本次学习了redis中4个高级应用还剩下redis的事务和发布订阅消息,下篇博客继续学习。

0 0
原创粉丝点击