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源 ...
随机推荐
- spring-jms
http://haohaoxuexi.iteye.com/blog/1893038 理解PooledConnectionFactory.CachingConnectionFactory和SingleC ...
- php查找文件内容
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><?ph ...
- UIScrollView 和 UIPageControl
UIScrollView [滚动视图]非常重要 UIScrollView是滚动视图,是其它带有滚动功能视图的父类, 本身不显示或者只显示背景,主要负责子视图的滚动和翻页. 一.常用属性 1.基本方法 ...
- LINQ to SQL语句之Union All/Union/Intersect和Top/Bottom和Paging和SqlMethods
我们继续讲解LINQ to SQL语句,这篇我们来讨论Union All/Union/Intersect操作和Top/Bottom操作和Paging操作和SqlMethods操作 . Union Al ...
- JQuery UI的拖拽功能
JQuery UI是JQuery官方支持的WebUI 代码库,包含底层交互.动画.特效等API,并且封装了一些Web小部件(Widget).同时,JQuery UI继承了jquery的插件支持,有大量 ...
- openstack controller ha测试环境搭建记录(五)——配置rabbitmq集群
配置rabbitmq集群的步骤非常简单,因为其本身含集群功能,参考openstack官网文档:http://docs.openstack.org/ha-guide/controller-ha-rabb ...
- md5sum校验文件完整性
1.简介 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改. MD5 全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生 ...
- Selinux是什么?
在新的基于RHEL一般都自带了selinux,多数情况下我们把selinux禁用了,事实上既然RHEL要集成它,必然有他的优点和长处,我们通过下文来了解selinux,也许你会喜欢用上它. 英文原文来 ...
- 基于LNMP的Zabbbix之PHP源码安装
安装一些依赖的包 wget -c ftp://xmlsoft.org/libxml2/libxml2-2.7.8.tar.gz .tar.gz -C ../source/ cd ../source/l ...
- macbook pro 突破校园网inode客户端限制分享网络
[原创] 环境: 1. macbook pro (retina) 2. mac os x 10.9 3. H3C inode for mac 7.0 分享方法: 1.打开inode联网. 2.打开设置 ...