zoukankan      html  css  js  c++  java
  • 【Redis】简介与安装

    一、Redis是什么

    Redis是现在最受欢迎的NoSQL数据库之一,Redis是一个使用ANSI C编写的开源、包含多种数据结构、支持网络、基于内存、可选持久性的键值对存储数据库,其具备如下特性:

    • 基于内存运行,性能高效
    • 支持分布式,理论上可以无限扩展
    • key-value存储系统
    • 开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API

    相比于其他数据库类型,Redis具备的特点是:

    • C/S通讯模型
    • 单进程单线程模型
    • 丰富的数据类型
    • 操作具有原子性
    • 持久化
    • 高并发读写
    • 支持lua脚本

    二、 Redis下载安装

    (1)Redis下载

    下载路径:https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100

    (2)解压

     下载解压后,在所解压的位置打开命令行(也可以通过cmd,然后再进入解压目标)

    (3)启动临时服务

    输入命令:redis-server.exe redis.windows.conf

      

    (4)另开一个窗口,启动 redis-cli.exe -h 127.0.0.1 -p 6379

    PS:也可以直接运行压缩包中的 redis-cli.exe

    这里向Redis存储了key="type", value="int"

      

    三、 Redis自定义windows服务

    (1)cmd 进入Redis安装包目录,安装服务:redis-server.exe --service-install redis.windows.conf --service-name redisservermaster --loglevel verbose

    通过 service.msc查看windows服务

     安装服务:redis-server.exe --service-install redis.windows.conf --service-name redisservermaster --loglevel verbose

    启动服务:redis-server.exe  --service-start --service-name redisservermaster

    停止服务:redis-server.exe  --service-stop --service-name redisservermaster

    卸载服务:redis-server.exe  --service-uninstall --service-name redisservermaster

    四、 Redis自定义构建主从服务器

    (1)注册从服务器slave

    拷贝几份Redis文件,redis-windows.conf配置文件中的ip 和端口号进行修改,然后按照上面的步骤部署一个服务

    我这里部署了两个slave(请注意看路径)

    查看服务,可看到成功注册了三个服务:一个master,两个slave

     (2)修改slave1, slave2端口(slave1:6380, slave2:6381)

     

     (3)配置主从服务器 

    Redis Slaveof 命令:可以将当前服务器转变为指定服务器的从属服务器(slave server),每次slave服务器重启时,会自动同步主服务器。主服务器负责写,从服务器负责读。

    如果当前服务器已经是某个主服务器(master server)的从属服务器,那么执行 slaveof host port 将使当前服务器停止对旧主服务器的同步,丢弃旧数据集,转而开始对新主服务器进行同步。

    另外,对一个从属服务器执行命令 slaveof no one 将使得这个从属服务器关闭复制功能,并从从属服务器转变回主服务器,原来同步所得的数据集不会被丢弃。

    slaveof no one 命令:不会丢弃同步所得数据集这个特性,可以在主服务器失败的时候,将从属服务器用作新的主服务器,从而实现无间断运行。

    然后将Redis服务都启动起来,就可以搭建成master-slave主从Redis服务器了。

    (4)主从同步过程(这一章节拷贝了另一博主,在此感谢!)

                                                         (借用一个图,在此感谢该图博主)

    1、Slave服务启动,主动连接Master,并发送SYNC命令,请求初始化同步

    2、Master收到SYNC后,执行BGSAVE命令生成RDB文件,并缓存该时间段内的写命令

    3、Master完成RDB文件后,将其发送给所有Slave服务器

    4、Slave服务器接收到RDB文件后,删除内存中旧的缓存数据,并装载RDB文件

    5、Master在发送完RDB后,即刻向所有Slave服务器发送缓存中的写命令

    6、至此初始化完成,后续进行增量同步

  • 相关阅读:
    对C++类的继承和派生的理解
    排序算法 之 归并排序
    排序算法 之 冒泡排序
    排序算法 之 选择排序
    排序算法 之 插入排序
    排序算法 之 快速排序
    进程和线程
    C++ 之 强制转换
    C++ 之 智能指针
    C++ STL 之 分配器(allocator)
  • 原文地址:https://www.cnblogs.com/zmoneyz/p/14378941.html
Copyright © 2011-2022 走看看