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对象换入的工作线程数量,默认存在
redis 高级配置的更多相关文章
- [Redis]Redis高级特性的配置及使用
---------------------------------------------------------------------------- [Redis安全性] 一 . 默认我们进入Re ...
- (转)REDIS各项配置参数介绍
# 默认情况下,redis不是在后台模式运行的,如果需要在后台进程运行,把该项的值更改为yes,默认为no daemonize:是否以后台daemon方式运行 # 如redis服务以后台进程运行的时候 ...
- Redis配置文件之————redis.conf配置及说明
基本设置 1. 备释当配置中需要配置内存大小时,可以使用 1k, 5GB, 4M 等类似的格式,其转换方式如下(不区分大小写):1k =< 1000 bytes1kb =< 1024 by ...
- NoSQL之Redis高级实用命令详解--安全和主从复制
Android IOS JavaScript HTML5 CSS jQuery Python PHP NodeJS Java Spring MySQL MongoDB Redis NOSQL Vim ...
- redis 配置文件配置
redis的配置和使用 redis的配置的分段的 配置段: 基本配置项 网络配置项 持久化相关配置 复制相关的配置 安全相关配置 Limit相关的配置 SlowLog相关的配置 INCLUDES Ad ...
- 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 ...
- Redis:redis.conf配置
redis.conf配置: 配置主要分为几类:基础.快照.复制.安全.限制.详细日志.虚拟内存.高级配置.文件包含 ##------------------------------------基础配置 ...
- redis 安装配置 [转]
Redis是目前众多NoSQL产品中非常有特点的一款,支持的数据类型和方法都非常丰富,做为一款具备持久化功能的软件,实际使中更多却是将其做为cache. 三思在个人的测试环境中安装使用了两三天,这期间 ...
- Linux 安装redis 基本配置 发布订阅,安全配置,持久化 rdb ,aof
redis redis相关配置1.yum 源码 rpm yum 快速,间接,高效,解决依赖关系,(自动安装到某个路径,不可控),通过yum安装的软件查询命令 rpm -ql nginx yum源 ...
随机推荐
- 基于ATmgea8单片机设计的加热控制系统(转)
源:http://blog.163.com/zhaojun_xf/blog/static/3005058020085102562729/ 1 引言 温度是工业生产中主要的被控参数之一,与之相关的各种温 ...
- zf-关于平台的用户名密码的设置
比如说安徽桐城的用户名密码在哪张表里设置 桐城市人民统一电子政务平台是http://localhost:8088/tc/ptzwfw.action 这个链接 在zwfw_tc 数据库的 PT_LOGI ...
- 关于SVN 提交一半卡死的问题
解决方案 1:将项目刷新一下 2:然后在到 project - clean 一下项目 3:之后提交svn 不过暂时不能确认 要等下方进度条的 svn更新状态完成 在点击确认进行提交 4:Buildin ...
- cakephp 的query方法,直接写在controller中是否 有点不合适
模型的query()函数有时是非常实用的,它可以在任何需要数据的地方执行SQL语句.但不是在什么地方调用query()方法都是恰当的.特别是在控制器中直接调用模型的query()方法 $this-&g ...
- kali系统安装
kali live 安装到U盘 http://www.backtrack.org.cn/thread-17197-1-1.html 用Live U盘安装Kali Linux http://cn.doc ...
- IE11 Windows7下F12 DOC资源管理器不能用Exception in window.onload: Error: An error has ocurredJSPlugin.3005
------------------ Diagnostic: Exception in window.onload: Error: An error has ocurredJSPlugin.3005 ...
- 背景透明IE和rgba
opacity:0.5; filter:Alpha(opacity=40); //IE8以下 当我们设置opacity透明时,opacity后代元素会随着一起具有透明性,所以我们Opacity中的文字 ...
- ADO。net学习笔记
来源于网络 1. SqlConnection(DBConnection) 建立程序与数据库的链接 链接字符串有两种形式: //使用Windows验证 SSPI(安全支持提供程序接口) ...
- SQL复习五(索引)
SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱. 1.1 什么是索引? SQL索引有两种,聚集索引和非聚集索引 ...
- sublime text 主题推荐
Soda Spacegray Flatland Tomorrow Base 16 Solarized Predawn itg.flat 其他所有的配色方案和主题.