Redis 3.0.501 学习使用(1)

1.为什么用到Redis?2016-05-0815:54:43

  • 在DWCS项目中需要使用到Redis数据库作为多个worker节点与Master节点进行数据交换的关键实现,因为Redis的<key,value>存储模式,可以很好地与MapReduce模型的实现——mincemeat.py 很好的搭配,实现数据的传输以及节点的通信。
  • 而且Redis的数据是先写入内存来进行读取,速度很快,方便快捷是节省数据读取,尤其是数据量很大的情况下,的一种很好的方式。
  • Redis的Master 与 slave作为主从的配置,主从复制机制可以使得Master 作为 数据“发布者”,对多个Slave (数据“订阅者”)进行数据的更新,只要slave 节点向master申请进行数据同步sync请求,master 节点的server便会开启一个后台程序,备份master的Redis数据库作为一个文件(记为 backups),如果在server备份还未完成时,Master节点上有Redis的客户端client连接其server并进行读写操作,这个时候Master并不会阻塞client的读写,此时两个进程(client和备份进程)都同步运行。<master 备份时的非阻塞>
  • master 可以连接多台slave,但是读写数据是分离的,master复制数据库的“写”,slave则是只有“读”的权限。(这里说的读写操作对象是master节点上的Redis数据库),如果在slave上进行数据的写操作,那么数据只存在slave本地的数据库中,也就是<在master上set数据,在slave上可以get到数据;在slave上set数据,在master上是get不到的>。可以说这种master--slave的形式部署是一种数据的单向树状传输图。但是由于DWCS项目的数据是需要多对一的数据传输——所有worker节点将解析出来的url汇集给master节点处理,而Redis是一对多的“master--slaves”模式,而且<一台slave无法连接多台master>. 所以使用“在Master节点上部署Redis服务器,在worker节点上部署Redis的client,连接Master的Redis服务器,进行多client-->master的客户端群连接更新数据库”。这样做:  
    • 优点:在同一个Redis Server上进行每个worker节点client端数据的更新,快捷方便,简单。
    • 缺点:不安全,由于Redis是存在内存中的,运算速度快,方便Redis Server 密码的暴力破解;多客户端保存数据容易发生误操作或者数据被其他客户端写入相同的key值而被覆盖的情况。
    • 解决:设置密码?在存入数据前先对数据进行加密?在存入数据前判断是否key值重复,设置自动增长的key值避免重复?

2.Redis Server【Master节点上】的配置

  • 其中的redis.windows.conf便是需要更改的配置文件。打开后:

    •   port 6379 表示其默认端口是6379
    •   其中几个常用到的配置更改项:port 、logfile 、 slaveof(配置主从复制用到)、 save、slave-read-only、requirepass(配置主从复制用到)、masterauth(配置主从复制用到)、...
  • 修改完配置文件后保存,DOS切换至Redis的目录下,启动Redis Server:

  • 在DCWS中,只需要用到Master节点的Redis Server ,所以配置我只改了(因人而异),其他的都是默认值:

    requirepass *******
    

3.Redis Client的配置【worker节点上】:

  • 在worker节点的机子上进入DOS,切换至Redis的目录运行client,连接远程master节点服务器上的server:
  • -h 后接 master ip,-p 后接 端口 , -a 后接 连接密码(就是requirepass 设置的密码)

4.连接成功后:

server端:

client端:

时间: 2024-11-01 00:50:28

Redis 3.0.501 学习使用(1)的相关文章

Redis3.0.5学习笔记(一)基础入门

欢迎访问:鲁春利的工作笔记,学习是一种信仰,让时间考验坚持的力量. 官方网站:http://redis.io/ 下载地址:http://redis.io/download 中文帮助:http://www.redis.cn/ Redis是一种面向"键/值"对数据类型的内存数据库,可以满足我们对海量数据的读写需求. redis的键只能是字符串: redis的值支持多种数据类型: 1:字符串 string 2:哈希 hash 3:字符串列表 list 4:字符串集合 set 不重复,无序 5

HBase-1.0.1学习笔记汇总

欢迎访问:鲁春利的工作笔记,学习是一种信仰,让时间考验坚持的力量. HBase-1.0.1学习笔记(一)集群搭建 http://luchunli.blog.51cto.com/2368057/1682049HBase-1.0.1学习笔记(二)客户端访问 http://luchunli.blog.51cto.com/2368057/1687458 HBase-1.0.1学习笔记(三)启动脚本解析 http://luchunli.blog.51cto.com/2368057/1690619 HBas

redis 3.0.7 cluster 集群部署

一.环境描述 DB:redis 3.0.7 最新稳定版 OS:centos 6.6_x64 二.安装步骤 1.基本软件包安装 [[email protected] ~]# yum -y install ruby [[email protected] ~]# yum -y install rubygems 下载路径,上传到/tmp路径下 https://rubygems.org/gems/redis/versions/3.0.0 [[email protected] ~]# cd /tmp [[e

20145209 《信息安全系统设计基础》第0周学习总结

20145209 <信息安全系统设计基础>第0周学习总结 教材学习内容总结 一.师生关系: 最好的师生关系是健身学员与健身教练的关系.这种关系的前提就是学员即学生必须以自己学习为前提,在学习的过程中接受老师的指导,才能真正提高和进步.老师安排任务只能更具大多数人的水平,并不能完全的更具 你自己的能力给你最好的学习模式,只有通过自己对自己的了解,探索出自己的学习方式,在此期间向老师提出疑问与不解才能真正的进步. 二.习而学的要点: 找到学习共同体:因为大量知识存在于学习共同体的实践中,不是书本中

Redis 3.0 新特性,支持redis 集群

Redis是一个开源.基于C语言.基于内存亦可持久化的高性能NoSQL数据库,同时,它还提供了多种语言的API. 近日,Redis 3.0在经过6个RC版本后,其正式版终于发布了. Redis 3.0的最重要特征是对Redis集群的支持,此外,该版本相对于2.8版本在性能.稳定性等方面都有了重大提高. 一.Redis 3.0正式版相对于RC6版本的改进内容包括: 1.修复了无磁盘情况下的的复制问题: 2.在角色变化后对BLPOP复制进行了测试: 3.改进了prepareClientToWrite

20145317《信息安全系统设计基础》第0周学习总结

20145317彭垚<信息安全系统设计基础>第0周学习总结 感想: 学生和老师的关系:健身教练和健身学员.学员想要健身塑造好的身材却不知道路径和方法,所以找到教练,教练需要做的是引导教会学生正确的锻炼姿势和锻炼方法,之后的事情就全看学员自己了. 对于新学期新课程,我希望自己能比上次学的认真,比上学期效率高,然后积极配合老师的教学工作,同时也不断提高自己. 问题: 第一章 计算机系统漫游 计算机操作系统中处理器.缓存器.以及内存等在运行中是如何配合运行的. 第二章 信息的表示和处理 计算机算数运

20145311 《信息安全系统设计基础》第0周学习总结

20145311 <信息安全系统设计基础>第0周学习总结 本周对这学期将要学习的信息安全系统设计这门课程做了一个大概的了解,感觉这门课的学习方式应该和上学期的Java程序设计基础那门课差不多,主要还是要靠自己自学, 其实我感觉自学是一种挺有效的学习方法,但是我自己认为还没能利用好这种方式,比如上学期的java课就没怎么学好, 所以这学期应该需要有所改观,至少我主观上是这样认为的.但是我返现这本书<深入理解计算机系统v2>真的很厚,一周两章的进度不知道是否能够跟得上, 上学期一周两章

Redis 3.0.0 正式版出炉,高性能 K/V 服务

Redis 3.0.0 正式版最终到来了,与 RC6 版本号比較.该版本号改进包含: * 修复了无磁盘的复制问题 (Oran Agra) * 在角色变化后对 BLPOP 复制进行測试 (Salvatore Sanfilippo) * prepareClientToWrite() 错误处理方法的改进 (Salvatore Sanfilippo) * 移除 dict.c 中不再使用的函数(Salvatore Sanfilippo Redis 3.0 版本号与 2.8 版本号比較,主要新特性包含例如以

(原创)cocos2d-x 3.0+ lua 学习和工作(2) : 单一继承简单介绍

-- 星月相随倾心贡献~~~ -- 本章简单介绍一下:单一继承 -- 多继承本人还没有用过,主要是lua多继承感觉不好用~~~个人感觉~~~大汗~! -- example: local Base = class( "Base" ) Base.__index = Base function Base:ctor(...) print( self.__cname ) -- 输出:类名字.class( "xxx" ), self._cname 就是 xxx end func