• Redis单台的安装部署及主备、哨兵部署


    Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。

    Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。

    1. 下载地址:

    $ wget http://download.redis.io/releases/redis-3.0.3.tar.gz

    2. 解压缩

    $ tar xzf redis-3.0.3.tar.gz

    3. 编译

    $ cd redis-3.0.3

    $ make

    $make install

    $cp redis.conf /etc/

    参数介绍:

    make install命令执行完成后,会在/usr/local/bin目录下生成本个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-check-aof 、redis-check-dump,它们的作用如下:

    redis-server:Redis服务器的daemon启动程序

    redis-cli:Redis命令行操作工具。也可以用telnet根据其纯文本协议来操作

    redis-benchmark:Redis性能测试工具,测试Redis在当前系统下的读写性能

    redis-check-aof:数据修复

    redis-check-dump:检查导出工具

    4. 修改系统配置文件,执行命令

    a) echo vm.overcommit_memory=1 >> /etc/sysctl.conf

    b) sysctl vm.overcommit_memory=1 或执行echo vm.overcommit_memory=1 >>/proc/sys/vm/overcommit_memory

    使用数字含义:

    0,表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。

    1,表示内核允许分配所有的物理内存,而不管当前的内存状态如何。

    2,表示内核允许分配超过所有物理内存和交换空间总和的内存

    5. 修改redis配置文件

    a) $ cd /etc

    b) vi redis.conf

    c) 修改daemonize yes---目的使进程在后台运行

    参数介绍:

    daemonize:是否以后台daemon方式运行

    pidfile:pid文件位置

    port:监听的端口号

    timeout:请求超时时间

    loglevel:log信息级别

    logfile:log文件位置

    databases:开启数据库的数量

    save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。

    rdbcompression:是否使用压缩

    dbfilename:数据快照文件名(只是文件名,不包括目录)

    dir:数据快照的保存目录(这个是目录)

    appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。

    appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)

    6. 启动redis

    a) $ cd /usr/local/bin

    b) ./redis-server /etc/redis.conf

    7. 检查是否启动成功

    a) $ ps -ef | grep redis

    %%启动客户端

    进入安装redis-3.0.3的路径,进入其客户端:

      $ src/redis-cli
      redis> set foo bar
      OK
      redis> get foo
      "bar"

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    单台上多节点的部署:

    需要启动多个Redis实例:
    一台Redis服务器,分成多个节点,每个节点分配一个端口(6380,6381…),默认端口是6379。
    每个节点对应一个Redis配置文件,如: redis6380.conf

    #cp redis.conf  redis6380.conf

    cp  /etc/redis.conf /etc/redis6380.conf

    %%修改配置文件

    #vi redis6380.conf

    pidfile : pidfile/var/run/redis/redis_6380.pid

    port 6380

    logfile : logfile/var/log/redis/redis_6380.log

    rdbfile : dbfilenamedump_6380.rdb

    slaveof 127.0.0.1 6380   # slaveof master的ip master的端口 

    (其他配置文件类似修改)

    启动多个redis实例:

    #redis-server/usr/local/redis/redis6380.conf

     启动redis—server

    a) $ cd /usr/local/bin

    b) ./redis-server /etc/redis6380.conf

    %%启动客户端6380端口

      $ src/redis-cli -p 6380
      redis> set foo bar
      OK
      redis> get foo
      "bar"

    哨兵模式:

    修改sentinel.conf 配置文件,

    添加配置:

    sentinel monitor mymaster 10.xxx.xx.54 6379 1   #哨兵监控的master

    如果有下面报错  启动命令后面要加上  --sentinel

    启动命令:

    ./redis-server /app/redis-3.0.3/sentinel.conf --sentinel

    启动redis的哨兵进程。

    再查看其进程:

    ./redis-cli  -p 26379

    转自                 http://www.cnblogs.com/zhuhongbao/archive/2013/06/04/3117997.html

    参考链接:         http://itindex.net/detail/49164-redis-集群

                 http://www.ttlsa.com/redis/redis-master-slave-install-on-linux/

    相关链接:redis官网 http://redis.io/download

         github上erlang的redis驱动: https://github.com/wooga/eredis

                                              

  • 相关阅读:
    cJson
    STemWin
    TEA通讯加密
    stm32串口收发导致的死机
    C语言版数据结构算法
    FIFO
    IAP远程在线升级
    LWIP
    电能计量芯片
    单片机里的堆栈
  • 原文地址:https://www.cnblogs.com/unqiang/p/4671206.html
Copyright © 2020-2023  润新知