redis缓存机制【转载】
转载自:http://blog.csdn.net/acmman/article/details/53434134
redis的主从模式
(1)介绍
redis存储数据是在内存中运行的,运行速度比关系型数据库要快一些。而且它具有SortSet/Hash
等具有特色的数据类型,这是其它数据库无法比拟的。
redis有增删改查四种操作,和一般的数据库差不多。
什么操作最耗费数据库资源?是查询。查询中的子查询、多表查询,条件中的Group by、order by,
以及limit等操作都会消耗不少的数据库资源。
提升数据库效率,在资金充足的情况下,我们可以通过提升硬件设施来完成:
购置多个服务器,每个服务器执行不同的数据操作,查询类操作消耗资源,可以分给好多个数据库来操作,叫做“读写分离技术”。
添加、修改、删除都叫“数据写入”,主服务器可以作为“写入”服务器,而从服务器可以作为
“读取”服务器。主服务器和从服务器要通过一些技术自动来同步。这叫“主从模式”。
(2)创建基于redis的主从模式
我们也可以给reids构建一个“主从模式”。在多台服务器上安装Redis,然后主服务器负责写入
操作,从服务器进行读取操作。主从服务器是可以自动备份的:
(主服务器是master,从服务器是slave)
我们打开redis.conf,在下面可以设置此redis所在的服务器是哪一台主服务器的从服务器:
或者是成为哪些redis服务器的主服务器:
设置样例:
设置本机为在ip为192.168.39.159下的某台redis主服务器的从服务器
其实从服务器的读写权限是可以配置的,配置位置如下:
注意,修改完redis配置文件之后,要杀死现有的redis进程,重启redis服务,就可以看到
其它服务器的数据。
(3)动手实践
我们使用Redis来实现主从模式。
首先在VMware虚拟机中的Linux中打开两个终端,一个是用户jack,一个是newuser:
然后我们jack作为主机,redis服务运行在6379端口,我们设置newuser为从机,设置其redis
运行在6380端口,然后让其使用slaveof命令从属于jack的主机:
注意:我们客户端登录的时候,使用的配置文件分别是redis.conf和redis6380.conf。
其中redis6380.conf的内容和redis.conf一样,只有port端口号的设置不同:
可以看一下两个终端的信息,发现他们都是互相独立的,不是任何一个的从机(即两个都是独立的主机):
用指令实现主从模式的方法:
redis缓存机制【转载】的更多相关文章
- Redis缓存机制
Redis介绍 Redis是一款内存高速缓存数据库: 数据模型为:key - value,非关系型数据库使用的存储数据的格式: 可持久化:将内存数据在写入之后按照一定格式存储在磁盘文件中,宕机.断电后 ...
- JAVA记录-redis缓存机制介绍(一)
1.redis介绍 Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Re ...
- 【Redis缓存机制】1.Redis介绍和使用场景
(1)持久化数据库的缺点平常我们使用的关系型数据库有Mysql.Oracle以及SqlServer等,在开发的过程中,数据通常都是通过Web提供的数据库驱动来链接数据库进行增删改查. 那么,我们日常使 ...
- JAVA记录-redis缓存机制介绍(三)
Redis 事务 Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证: 事务是一个单独的隔离操作:事务中的所有命令都会序列化.按顺序地执行.事务在执行的过程中,不会被其他客户端发送来的 ...
- Redis缓存机制一为什么要用Redis
1.持久化数据库的缺点 1)存储在部署数据库的硬盘上 平时我们使用的关系型数据库有MySql,Oracle以及SqlServer等,通常通过数据驱动来链接数据库进行增删改查. 那么 ...
- JAVA记录-redis缓存机制介绍(四)
Redis 数据备份与恢复 Redis SAVE 命令用于创建当前数据库的备份. 语法 redis Save 命令基本语法如下: redis 127.0.0.1:6379> SAVE 实例 re ...
- JAVA记录-redis缓存机制介绍(二)
Redis 集合(Set) Redis的Set是string类型的无序集合.集合成员是唯一的,这就意味着集合中不能出现重复的数据. Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度 ...
- SpringBoot缓存管理(三) 自定义Redis缓存序列化机制
前言 在上一篇文章中,我们完成了SpringBoot整合Redis进行数据缓存管理的工作,但缓存管理的实体类数据使用的是JDK序列化方式(如下图所示),不便于使用可视化管理工具进行查看和管理. 接下来 ...
- Windows环境下使用Redis缓存工具的图文详细方法
一.简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集合). ...
随机推荐
- serilization 序列化 transient 不被序列化
Serizlizable 作用 对于一个存在于Java虚拟机中的对象来说,其内部的状态只保持在内存中.JVM停止之后,这些状态就丢失了.在很多情况下,对象的内部状态是需要被持久化下来的.提到持久化,最 ...
- [转]emailjs-smtp-client
本文转自:https://github.com/emailjs/emailjs-smtp-client/blob/master/README.md SMTP Client SMTP Client al ...
- Python——基本的书写规则
1.输入方法input() 等待用户输入数据,并回车后得到数据(name为输入的字符串) name=input('Please input your name:') print('Hi,',name) ...
- django中的验证码
from django.shortcuts import renderfrom PIL import Imagefrom PIL import ImageDrawfrom PIL import Ima ...
- 九、双端队列LinkedBlockDeque
一.简介 JDK通过BlockQueue阻塞队列实现了生产者-消费者模式,生产者向队列添加数据,消费者从队列里面消费数据. 但是在有些场景里面,我们是无法区分生产者消费者的,或者说既是生产者,也是消费 ...
- 微信小程序二维码识别
目前市场上二维码识别的软件或者网站越来越多,可是真正方便,无广告的却少之很少. 于是,自己突发奇想做了一个微信二维码识别的小程序. 包含功能: 1.识别二维码 ①普通二维码 ②条形码 ③只是复制解析出 ...
- HDU2048 神,上帝以及老天爷 错排
http://acm.hdu.edu.cn/showproblem.php?pid=2048 这是一道错排的题目 错排如下:http://baike.baidu.com/link?url=U2_H-4 ...
- C#学习笔记(基础知识回顾)之枚举
一:枚举的含义 枚举是用户定义的整数类型.在声明一个枚举时,要指定该枚举的示例可以包含的一组可接受的值.还可以给值指定易于记忆的名称.个人理解就是为一组整数值赋予意义. 二:枚举的优势 2.1:枚举可 ...
- json格式对象大括号中不能把键改为变量问题
今天遇到了一个往json中写入变量的问题,下面代码是错误的写法 document.querySelector(".box").onclick = function(){ // 移动 ...
- git杂记-撤销操作
覆盖上一次的提交或重新更新提交说明 $ git commit --amend -m '我再次提交啦,上一次的提交已经不见啦.这是一个危险的操作哦.哈哈,其实并不危险,也是可以数据恢复的啦' 取消已暂存 ...