redis入门博客地址:
Redis入门
一、安全性
可以在增加requirepass 密码,则客户端连接服务器时需要密码认证才能连接redis服务器。
二、Redis主从备份
redis主从复制过程:
1.Slave与master建立连接,发送sync同步命令
2.Master会启动一个后台进程,将数据库快照保存到文件中,同时master进程会开始收集新的
写命令并
缓存。
3.后台完成保存后,就将此文件发送给slave
4.Slave将此文件保存到硬盘上
具体的配置:
克隆一台配置好的虚拟机(被克隆的机器作为Master主服务器,克隆后的机器作为Slave从服务器)。然后修改克隆后的机器的配置,修改其mac地址,ip地址,主机名hostname。然后修改redis配置,要设置slave机器为master的从服务器:
slaveof主服务器 端口
注意:当redis设置主从备份后,slave默认就是只读模式,无法进行写入。
如果进行写操作则会报如下的错误:
(error) READONLY You can't write against a read only slave.
问题:是否有必要开启redis的写操作权限呢?http://www.tuicool.com/articles/VBzMz2u
那是不是只要用redis的话,就尽量打开slave可写选项呢?我认为,这个选项尽量不要打开。事实上,默认的redis.conf也是没有打开这个选项。原因是,
即使打开了这个选项,向redis slave中写了数据,写入的数据也不会同步到master。所以,redis支持的是master-slave结构,而不是master-master这种双活结构。
当下一次,master上的数据又有所修改之后,这个数据又会同步到slave上,slave上临时写入的数据就会丢失。
演示redis的主从切换
需要三台虚拟机,一台主服务器,一台从服务器,一台redis sentinel做集群监控。
参考博客:
redis主从切换集群管理三、Redis中的事务
Redis中的事务是一组命令的集合。
四、持久化机制
参考网址:
Redis持久化
Redis支持的持久化方式
redis支持四种持久化方式:
1.Snapshotting(快照)
快照是Redis默认的持久化方式。
在默认情况下,Redis将数据库快照保存在名字为 dump.rdb 的二进制文件中。
你可以对Redis进行设置,让它在“N秒内数据集至少有M个改动”这一条件被满足时,自动保存一次数据集。
你也可以通过调用 SAVE 或者 BGSAVE ,手动让Redis进行数据集保存操作。
比如说,以下设置会让Redis在满足“60秒内有至少有1000个键被改动”这一条件时,自动保存一次数据集:
save 60 1000 //60秒内有至少有1000个键被改动
这种持久化方式被称为快照(snapshot)。
我们也可以手动的触动快照操作,使用的命令是SAVE和BGSAVE.
BGSAVE命令会进行后台保存。
2.Append-only file(缩写aof)的方式
默认情况下Redis没有开启AOF方式的持久化,可以通过appendonly参数开启。
appendonly yes
开启AOF持久化后每执行一条更改Redis中的数据的命令,Redis就会将改命令写入到硬盘的AOF文件中。AOF文件的保存位置与RDB文件的保存位置相同,都是可以通过dir参数设置的,默认的文件名是appendonly.conf,可以通过appendfilename参数修改:
appendfilename appendonly.aof
默认情况下系统每30秒回执行一次同步操作,以便将硬盘缓存中的内容真正地写入硬盘,在这30秒的过程中如果系统异常退出则会导致硬盘缓存中的数据丢失。
3.虚拟内存方式
4.diskstore方式
RDB 和 AOF ,我应该用哪一个?
一般来说,如果想达到足以媲美 PostgreSQL 的数据安全性,你应该同时使用两种持久化功能。
如果你非常关心你的数据,但仍然可以承受数分钟以内的数据丢失,那么你可以只使用 RDB 持久化。
有很多用户都只使用AOF持久化,但我们并不推荐这种方式:因为定时生成RDB快照(snapshot)非常便于进行数据库备份,
并且RDB恢复数据集的速度也要比 AOF 恢复的速度要快,
除此之外,使用 RDB 还可以避免之前提到的AOF程序的bug。
遇到问题
操作redis时,报过这样的错误:
(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
解决方法:
redis-cli
config set stop-writes-on-bgsave-error no
redis有4种持久化方式。
RDB
Redis默认的持久化方式是快照。
AOF
快照模式可以和AOF模式同时开启,互不影响
五、发布订阅消息
消息publish/subscribe
六、虚拟内存的使用
七、Redis在项目中的使用
redis可以作为缓存层。
比较典型的场景是登录,可以用来做分布式session管理(session共享)
基于redis的list可以实现消息队列。这个是非常有用的一个了。
发布订阅:消息publish/subscribe 。
Redis作者谈Redis应用场景
分享到:
相关推荐
Redis深度历险,进阶学习的好资料,html版本。每个章节一个HTML。网络搜集。
Redis进阶.zip
Redis进阶,架构师成长之路
第十九讲redis使用进阶.pptx
java架构面试讲解必备
Redis专项进阶课 解决Redis工作实际问题+掌握Redis6.x特性-附件资源
分享视频教程——Redis6.x专项进阶课(解决Redis工作实际问题),2020年11月录制,附源码;本课程以一个实战项目为主线,整合Redis各种问题场景,不断改造项目,以问带学。学完本课后,面对Redis相关问题,你将能够...
介绍了Redis的基本知识,比如数据类型、持久化方式、集群类型等等,还有redis如何安装和使用,一些基本的命令,希望对使用者有帮助。
redis使用进阶
Redis,即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。...本文适合Redis初学者和进阶者阅读,是一份全面而实用的学习笔记。
Yii 2.0进阶版 为百度分享的链接及密码 Yii 2.0进阶版 为百度分享的链接及密码
第一部分 入门 第1章 初识Redis 第2章 使用Redis构建Web应用 ...第三部分 进阶内容 第9章 降低内存占用 第10章 扩展Redis 第11章 Redis的Lua脚本编程 附录A 快速安装指南 附录B 其他资源和参考资料
深Redis实战宝典:从基础到进阶,掌握数据存储与缓存的艺术 在信息爆炸的时代,高效的数据存储与缓存技术是企业竞争力的关键。作为营销专家,深知您对数据处理的迫切需求。今天,我为您推荐一份极具价值的资源——...
Redis实战 目录 第一部分:基础知识 第1章 初识Redis 第2章 使用Redis构建Web应用 ...第三部分:进阶内容 第 9 章 降低内存占用 第 10 章 扩展 Redis 第 11 章 Redis 的 Lua 脚本编程 第四部分:附录
程序员进阶书籍系列 程序员进阶之路高清pdf系列书籍之--程序员进阶书籍系列 程序员进阶之路高清pdf系列书籍之--
redis学习手册,包含了redis从开发到运维的各个层面。
这个是对整个redis的整体架构的讲解,没有具体到命令,但是对于进阶redis,提高架redis有很大的帮助滴
本ptt从四个方面来介绍redis 1、什么是redis 2、redis的数据类型 3、redis的进阶操作 4、redis遇到的问题及解决方法