1.文件下载:
    wget http://download.redis.io/releases/redis-3.0.0.tar.gz

2.解压及安装
    tar xzf redis-3.0.0.tar.gz
    cd redis-3.0.0
    make
    make install
    cp /usr/local/redis/utils/redis_init_script /etc/rc.d/init.d/redis

修改/etc/rc.d/init.d/redis文件:
    在第二行增加:
    #chkconfig: 2345 80 90 
    在$EXEC $CONF后面增加&

mkdir /etc/redis
    cp /usr/local/redis/redis.conf /etc/redis/6379.conf
    
3.测试:
     redis-cli
     redis> set foo bar
     OK
     redis> get foo
     "bar"
4.启动redis:
    [root@myhost1 redis-3.0.0]# nohup redis-server  &
    [1] 28085    
    [root@myhost1 redis-3.0.0]# netstat -tnlp|grep 6379
    tcp        0      0 0.0.0.0:6379                0.0.0.0:*                   LISTEN      28085/redis-server  
    tcp        0      0 :::6379                     :::*                        LISTEN      28085/redis-server  
5.停止redis:
    [root@myhost1 ~]# redis-cli shutdown
    [root@myhost1 ~]# netstat -tnlp|grep 6379
    [1]+  Done                    nohup redis-server  (wd: /tmp/redis-3.0.0)
    (wd now: ~)
6.redis发送命令:
6.1参数方式发送命令:
    [root@myhost1 ~]# redis-cli -h 127.0.0.1 -p 6379
    127.0.0.1:6379> exit
    [root@myhost1 ~]# redis-cli ping
    PONG
    [root@myhost1 ~]#
6.2交互模式发送命令:
    [root@myhost1 ~]# redis-cli
    127.0.0.1:6379> ping
    PONG
    127.0.0.1:6379> config set loglevel warning
    OK
7.启动从数据库
    [root@myhost1 ~]# nohup redis-server --port 6380 --slaveof 127.0.0.1 6379 &
    [2] 30683
    ##或在配置文件中加入:    slaveof 主数据库IP  主数据库端口,主数据库配置文件无须做任何调整
8.测试:
    [root@myhost1 ~]# redis-cli  -p 6379
    127.0.0.1:6379> set mytest1 aaaa
    OK
    127.0.0.1:6379> exit
    [root@myhost1 ~]# redis-cli  -p 6380
    127.0.0.1:6380> get mytest1
    "aaaa"
9.redis其他命令说明:
    127.0.0.1:6380> set mytest1 'BBBB'
    (error) READONLY You can't write against a read only slave.
    ##默认从数据库是只读的,通过设置slave-read-only=no,可以使从数据库进行读写操作.
    127.0.0.1:6380> slaveof 127.0.0.1 6379
    OK Already connected to specified master
    ##在运行时,修改主数据库的配置,如果该数据库已经是其他的从数据库,则会停止与原来的数据同步,转而与新的数据库同步
    127.0.0.1:6380> slaveof no one
    OK
    ##使当前数据库停止接收其他数据库的同步,转而成为主数据库.

192.168.16.77:6379> keys *
    1) "mytest3"
    2) "mytest4"
    3) "mytest1"
    4) "mytest2"
    5) "mytest"
    192.168.16.77:6379> ping
    PONG
    192.168.16.77:6379> dbsize
    (integer) 5
    192.168.16.77:6379> info
10.Redis 复制的特点和优势。
    1)同一个Master可以同步多个Slaves。
    2)Slave同样可以接受其它Slaves的连接和同步请求,这样可以有效的分载Master的同步压力。因此我们可以将Redis的Replication架构视为图结构。
    3)Master Server是以非阻塞的方式为Slaves提供服务。所以在Master-Slave同步期间,客户端仍然可以提交查询或修改请求。
    4)Slave Server同样是以非阻塞的方式完成数据同步。在同步期间,如果有客户端提交查询请求,Redis则返回同步之前的数据。
    5)为了分载Master的读操作压力,Slave服务器可以为客户端提供只读操作的服务,写服务仍然必须由Master来完成。即便如此,系统的伸缩性还是得到了很大的提高。
    6)Master可以将数据保存操作交给Slaves完成,从而避免了在Master中要有独立的进程来完成此操作,当主数据库崩溃,从数据库需要使用slaveof no one来提升为主数据库.
11.redis 复制的原理:
    当启动一个Slave进程后,它会向Master发送一个SYNC Command,请求同步连接。
    无论是第一次连接还是重新连接,Master都会启动一个后台进程,将数据快照保存到数据文件中,同时Master会记录所有修改数据的命令并缓存在数据文件中。
    后台进程完成缓存操作后,Master就发送数据文件给Slave,Slave端将数据文件保存到硬盘上,然后将其在加载到内存中,接着Master就会所有修改数据的操作,将其发送给Slave端。
    若Slave出现故障导致宕机,恢复正常后会自动重新连接,Master收到Slave的连接后,将其完整的数据文件发送给Slave
    如果Mater同时收到多个Slave发来的同步请求,Master只会在后台启动一个进程保存数据文件,然后将其发送给所有的Slave,确保Slave正常。
12.redis的安全
12.1 bind:
    默认情况下redis的配置是接受来自任何地址发送来的请求,若只允许指定地址连接,可以将bind参数修改为:
    bind 192.168.1.100 10.0.0.1
12.2 验证密码:
    通过配置文件中的requirepass为redis设置密码,如下:
    requirepass foobared

[root@myhost1 redis-3.0.0]# nohup redis-server ./redis.conf  &
    [3] 31277
    [root@myhost1 redis-3.0.0]# redis-cli
    127.0.0.1:6379> set mytest 21
    (error) NOAUTH Authentication required.
    127.0.0.1:6379> auth foobared
    OK
    127.0.0.1:6379> set mytest 21
    OK
13.redis常用工具:
    phpredisadmin:网页端管理工具
    rdbtools:rdb快照文件解析器

转载于:https://blog.51cto.com/webseven/1637229

Redis的安装及原理介绍相关推荐

  1. Redis的安装配置与介绍(Windows版)

    基本介绍 Redis 是完全开源的,是一个高性能的 key-value 数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保 ...

  2. Redis实战(一):Redis一键安装脚本,Redis 介绍及 NIO 原理介绍

    Redis一键安装并启动的脚本(root用户) 试过用其他权限用户安装会出错,可能是因为命令中没有写 sudo 切换到root,直接执行即可. #!/bin/bash cd /usr/local/ & ...

  3. LVS原理介绍及安装过程

    一.ARP技术概念介绍 为什么讲ARP技术,因为平常工作中有接触.还有就是LVS的dr模式是用到arp的技术和数据. 1.什么是ARP协议 ARP协议全程地址解析协议(AddressResolutio ...

  4. Redis入门第一篇【介绍、安装】

    tags: Redis title: Redis入门第一篇[介绍.安装] 为什么要用Redis 我对Redis的简单理解:Redis相信学JavaEE的同学都听过这个名词,它是一个缓存数据库. Red ...

  5. python2.7.5 怎么装redis_python中Redis的简要介绍以及Redis的安装,配置

    简介: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存的非关系型数据库,他通过key:value的形式存储.有着多种数据结构,如字符串,列表,集合等. 通过Redis我们可以进行 ...

  6. Redis:安装、配置、操作和简单代码实例(C语言Client端)[转]

    我转的地址: http://blog.csdn.net/hj19870806/article/details/8724907 听说游戏的用的比较多,所以了解下. --以下为转载内容 Redis是一个开 ...

  7. Redis数据库(一)——介绍、配置与优化

    Redis数据库(一)--介绍.配置与优化 一.关系数据库与非关系型数据库 1.关系数据库 2.非关系型数据库 3.关系数据库与非关系型数据库区别(三个方向) 数据存储方式不同 扩展方式不同 对事务性 ...

  8. Redis集群的原理和搭建

    Redis集群的原理和搭建 前言 Redis 是我们目前大规模使用的缓存中间件,由于它强大高效而又便捷的功能,得到了广泛的使用.单节点的Redis已经就达到了很高的性能,为了提高可用性我们可以使用Re ...

  9. Redis(二)原理以及主从复制的实现

    1.搭建实验环境 主机信息 IP 主机功能 server1 172.25.35.1 redis主服务器 server2 172.25.35.2 redis从服务器1 server3 172.25.35 ...

最新文章

  1. Python 字符串的所有方法详解
  2. C语言 —— 运算符的优先级
  3. k8s提交镜像到harbor仓库
  4. 提速 30%!腾讯TQUIC 网络传输协议
  5. jdba怎么连接mysql_一、JAVA通过JDBC连接mysql数据库(连接)
  6. Maven高级之archetype(原型/骨架)开发
  7. 面试要15K,HR说你只值10K,怎么斗得过?
  8. dwr 登录实现 (入门知识)
  9. WEB打印分页类(JS)
  10. Forrester《2021年应用安全现状报告》提要
  11. Julia: 调用Python 库
  12. nc加载不了java,用友NC系统使用过程中常见问题和解决方法
  13. 个人游戏程序开发总结
  14. C#操作Word(二)——将Word文档嵌入到WinForm窗体中
  15. 解决esp8266无法连接手机和电脑热点的问题
  16. 1197 山区建小学
  17. uni-app 动画
  18. 非常好的运算放大器基础
  19. linux安装Node.js 详细安装教程
  20. Excel计算傅里叶变化FFT

热门文章

  1. ios 平滑移动view_解决页面使用overflow: scroll在iOS上滑动卡顿的问题
  2. 织梦ajax加载文章列表,织梦dedecms首页列表页ajax点击下拉加载更多文章瀑布流效果...
  3. 天正坐标标注显示不全_高效率的天正CAD技巧,其实制图很简单!
  4. mysql 分组group
  5. flask response响应
  6. PyPA Creating Documentation
  7. XMLHttpRequestEventTarget
  8. psql sql语法
  9. MySQL Spatial Data Types
  10. C++ vector