redis 高级配置

一.安全性

设置密码:在配置文件中设置
requirepass 123456
由于redis的速度非常快,每秒可以进行15万次的暴力破解,所以密码设置要强壮些
在客户端登录或者连接的时候,使用 auth 123456进行授权,以后才有权限继续
也可以在登录的时候直接指定,例如 /usr/local/redis/bin/redis-cli  -a 123456
 

二,主从复制

修改从服务器的配置
打开 slaveof 前的#注释,设置 slaveof 主服务器IP 主服务器端口
如果主服务器设置了密码,masterauth 主机密码
可以用info命令查看连接状态
role:slave  表示当前是从服务器
master_link_status:up 表示当前正在连接状态

三,数据持久化

redis是一个支持持久化的内存数据库,也就是说redis需要经常把内存中的数据同步到硬盘,以保证数据的持久性和安全性
redis的持久化分为两种方式:
1.snapshotting(快照) 这是默认的方式,也已经自动开启了
2.Append-only file (缩写为aof)  这是将数据的写操作保存成文件,在数据库每次启动的时候都会去读取这个文件,重新构建数据库内容,有点类似于mysql的bin-log日志
由于快照方式是每隔多长时间执行一次,所以还是有数据丢失的可能性,当然aof的方式默认由于os也会在内存中缓存写操作做的修改,所以有可能也是马上写入文件,也有可能丢失数据,下面会讲到修改的方法
打开方式:
快照方式
aof 文件方式
在配置文件中找到如下命令,修改

 

四,redis的 pub/sub 发布与订阅消息

这个现在看来类似于Linux的广播,不知道在php连接客户端的时候如何使用,
在客户端登陆后 执行 subscribe tv1 就会一直监听tv1是否有消息
然后另外一个客户端,执行 publish tv1 haoxiang 就会把消息发送到所有正在监听tv1的客户端

五,虚拟内存

redis的虚拟内存和操作系统的虚拟内存不是一回事,但是原理是一样的,都是暂时把不太访问的数据从内存交换到硬盘,从而腾出宝贵的内存空间。尤其是对redis这种内存性数据库,内存永远是不够用的,除了将数据分割到多个redis server之外,另外能够提高数据库容量的办法就是设置虚拟内存
和大多NoSQL数据库一样,Redis同样遵循了Key/Value数据存储模型。在有些情况下,Redis会将Keys/Values保存在内存中以 提高数据查询和数据修改的效率,然而这样的做法并非总是很好的选择。鉴于此,我们可以将之进一步优化,即尽量在内存中只保留Keys的数据,这样可以保证 数据检索的效率,而Values数据在很少使用的时候则可以被换出到磁盘。
    在实际的应用中,大约只有10%的Keys属于相对比较常用的键,这样Redis就可以通过虚存将其余不常用的Keys和Values换出到磁盘上,而一旦这些被换出的Keys或Values需要被读取时,Redis则将其再次读回到主内存中。

应用场景:

    对于大多数数据库而言,最为理想的运行方式就是将所有的数据都加载到内存中,而之后的查询操作则可以完全基于内存数据完成。然而在现实中这样的场景却并不普遍,更多的情况则是只有部分数据可以被加载到内存中。
    在Redis中,有一个非常重要的概念,即keys一般不会被交换,所以如果你的数据库中有大量的keys,其中每个key仅仅关联很小的value, 那么这种场景就不是非常适合使用虚拟内存。如果恰恰相反,数据库中只是包含少量的keys,而每一个key所关联的value却非常大,那么这种场景对于 使用虚存就再合适不过了。
    在实际的应用中,为了能让虚存更为充分的发挥作用以帮助我们提高系统的运行效率,我们可以将带有很多较小值的Keys合并为带有少量较大值的Keys。 其中最主要的方法就是将原有的Key/Value模式改为基于Hash的模式,这样可以让很多原来的Keys成为Hash中的属性。
默认是关闭的,开始方法:修改配置文件中参数如下
vm-enabled yes   #开启功能,默认是no
really-use-vm yes  #确认开启,默认没有,不添加会提示添加的
vm-swap-file /tmp/redis.swap  #交换出来的value的默认保存路径,默认存在
vm-max-memory 1000000   #redis默认使用的最大内存上限,默认存在
vm-page-size 32  #每个页面的大小32字节,默认存在
vm-pages 134217728  #最多使用多小页面,默认存在
vm-max-threads  #用于执行value对象换入的工作线程数量,默认存在

 

posted @ 2015-09-19 16:39  笑笑别人  阅读(247)  评论(0编辑  收藏  举报