一.安全性

设置密码:在配置文件中设置
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对象换入的工作线程数量,默认存在

redis 高级配置的更多相关文章

  1. [Redis]Redis高级特性的配置及使用

    ---------------------------------------------------------------------------- [Redis安全性] 一 . 默认我们进入Re ...

  2. (转)REDIS各项配置参数介绍

    # 默认情况下,redis不是在后台模式运行的,如果需要在后台进程运行,把该项的值更改为yes,默认为no daemonize:是否以后台daemon方式运行 # 如redis服务以后台进程运行的时候 ...

  3. Redis配置文件之————redis.conf配置及说明

    基本设置 1. 备释当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写):1k =< 1000 bytes1kb =< 1024 by ...

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

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

  5. redis 配置文件配置

    redis的配置和使用 redis的配置的分段的 配置段: 基本配置项 网络配置项 持久化相关配置 复制相关的配置 安全相关配置 Limit相关的配置 SlowLog相关的配置 INCLUDES Ad ...

  6. 3.Redis高级功能

    3.Redis高级功能3.1 慢查询分析3.1.1 慢查询的两个配置参数3.1.2 最佳实践3.1.3 单线程架构3.2 Redis Shell3.2.1 redis-cli 详解3.2.2 redi ...

  7. Redis:redis.conf配置

    redis.conf配置: 配置主要分为几类:基础.快照.复制.安全.限制.详细日志.虚拟内存.高级配置.文件包含 ##------------------------------------基础配置 ...

  8. redis 安装配置 [转]

    Redis是目前众多NoSQL产品中非常有特点的一款,支持的数据类型和方法都非常丰富,做为一款具备持久化功能的软件,实际使中更多却是将其做为cache. 三思在个人的测试环境中安装使用了两三天,这期间 ...

  9. Linux 安装redis 基本配置 发布订阅,安全配置,持久化 rdb ,aof

    redis redis相关配置1.yum  源码 rpm  yum 快速,间接,高效,解决依赖关系,(自动安装到某个路径,不可控),通过yum安装的软件查询命令 rpm -ql nginx  yum源 ...

随机推荐

  1. 转 json数组对象和对象数组

    一.Json的简单介绍 从结构上看,所有的数据最终都可以分成三种类型: 第一种类型是scalar(标量),也就是一个单独的string(字符串)或数字(numbers),比如“北京”这个单独的词. 第 ...

  2. js 中ajax请求时设置 http请求头中的x-requestd-with= ajax

    今天发现 AngularJS 框架的$http服务提供的$http.get() /$http.post()的ajax请求中没有带 x-requested-with字段. 这样的话,后端的php 就无法 ...

  3. Gerald and Giant Chess

    Gerald and Giant Chess time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  4. PAT (Advanced Level) 1050. String Subtraction (20)

    简单题. #include<iostream> #include<cstring> #include<cmath> #include<algorithm> ...

  5. Python3基础 定义无参数无返回值函数 调用会输出hello world的函数

    镇场诗: 诚听如来语,顿舍世间名与利.愿做地藏徒,广演是经阎浮提. 愿尽吾所学,成就一良心博客.愿诸后来人,重现智慧清净体.-------------------------------------- ...

  6. 那些学些网址_jquery初学知识

    http://www.cnblogs.com/mingmingruyuedlut/archive/2011/10/18/2216553.html(ajax)http://www.enet.com.cn ...

  7. spring+hibernate中的Result object returned from HibernateCallback isn't a List

    Ok the problem is that for executeFind() the return type is List....so there is no way to use unique ...

  8. Ketama Consisent Hash

    问题描述 有一些目标节点 v1, v2...vn 需要一个算法,能够将任意key映射到目标节点中的一个vx 评价方式 1. 对于一个比较大的key集合,分布在各个目标节点的key的数量要尽可能均匀 2 ...

  9. [算法] kruskal最小生成树算法

    #include <stdio.h> #include <stdlib.h> #define MAX 100 int N, M; struct Edge { int u,v; ...

  10. Unity加载本地图片的2种方式

    1. 使用 WWW 加载,详细查看 unity3d 官方文档. 2. 使用 System.IO 加载,lua 代码如下: local File = luanet.import_type("S ...